@isograph/react 0.5.1 → 0.5.4
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 -6
- package/.turbo/turbo-tsc.log +5 -0
- 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} +19 -9
- package/dist/core/{IsographEnvironment.d.ts → IsographEnvironment.d.cts} +19 -15
- package/dist/core/IsographEnvironment.d.cts.map +1 -0
- package/dist/core/IsographEnvironment.d.mts +9 -5
- package/dist/core/IsographEnvironment.d.mts.map +1 -1
- package/dist/core/IsographEnvironment.mjs +17 -7
- 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} +16 -29
- package/dist/core/cache.d.cts +44 -0
- package/dist/core/cache.d.cts.map +1 -0
- package/dist/core/cache.d.mts +29 -4
- package/dist/core/cache.d.mts.map +1 -1
- package/dist/core/cache.mjs +9 -21
- 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} +16 -9
- package/dist/core/entrypoint.d.cts.map +1 -0
- package/dist/core/entrypoint.d.mts +9 -2
- package/dist/core/entrypoint.d.mts.map +1 -1
- package/dist/core/entrypoint.mjs.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} +21 -21
- 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 +10 -10
- 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} +66 -63
- 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 +58 -55
- package/dist/core/read.mjs.map +1 -1
- package/dist/core/{reader.d.ts → reader.d.cts} +11 -9
- package/dist/core/reader.d.cts.map +1 -0
- package/dist/core/reader.d.mts +5 -3
- 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.cts +32 -0
- package/dist/index.d.mts +2 -2
- 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 +47 -22
- package/src/core/cache.ts +76 -55
- package/src/core/entrypoint.ts +18 -2
- package/src/core/getOrCreateCacheForArtifact.ts +2 -2
- package/src/core/makeNetworkRequest.ts +10 -12
- package/src/core/read.ts +21 -19
- package/src/core/reader.ts +9 -5
- package/src/core/writeData.ts +4 -4
- package/src/index.ts +2 -1
- package/src/tests/__isograph/Economist/__link/output_type.ts +2 -1
- package/src/tests/__isograph/Node/asEconomist/resolver_reader.ts +4 -3
- package/src/tests/__isograph/Query/linkedUpdate/normalization_ast.ts +12 -0
- package/src/tests/__isograph/Query/linkedUpdate/resolver_reader.ts +9 -3
- package/src/tests/__isograph/Query/meName/normalization_ast.ts +3 -0
- package/src/tests/__isograph/Query/meName/resolver_reader.ts +5 -3
- package/src/tests/__isograph/Query/meNameSuccessor/normalization_ast.ts +8 -0
- package/src/tests/__isograph/Query/meNameSuccessor/resolver_reader.ts +8 -3
- package/src/tests/__isograph/Query/nodeField/normalization_ast.ts +3 -0
- package/src/tests/__isograph/Query/nodeField/raw_response_type.ts +1 -1
- package/src/tests/__isograph/Query/nodeField/resolver_reader.ts +5 -3
- package/src/tests/__isograph/Query/normalizeUndefinedField/normalization_ast.ts +3 -0
- package/src/tests/__isograph/Query/normalizeUndefinedField/resolver_reader.ts +5 -3
- package/src/tests/__isograph/Query/startUpdate/normalization_ast.ts +6 -0
- package/src/tests/__isograph/Query/startUpdate/resolver_reader.ts +6 -3
- package/src/tests/__isograph/Query/subquery/normalization_ast.ts +4 -0
- package/src/tests/__isograph/Query/subquery/raw_response_type.ts +1 -1
- package/src/tests/__isograph/Query/subquery/resolver_reader.ts +6 -3
- 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.test.json +12 -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 -20
- 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/index.d.ts +0 -32
- 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
package/dist/loadable-hooks/{useConnectionSpecPagination.d.ts → useConnectionSpecPagination.d.cts}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { FetchOptions } from "../core/check.
|
|
2
|
-
import { LoadableField } from "../core/reader.
|
|
3
|
-
import { FragmentReference, UnknownTReadFromStore } from "../core/FragmentReference.
|
|
1
|
+
import { FetchOptions } from "../core/check.cjs";
|
|
2
|
+
import { LoadableField } from "../core/reader.cjs";
|
|
3
|
+
import { FragmentReference, UnknownTReadFromStore } from "../core/FragmentReference.cjs";
|
|
4
4
|
|
|
5
5
|
//#region src/loadable-hooks/useConnectionSpecPagination.d.ts
|
|
6
6
|
type UsePaginationReturnValue<TReadFromStore extends UnknownTReadFromStore, TItem> = {
|
|
@@ -30,4 +30,4 @@ type UseConnectionSpecPaginationArgs = {
|
|
|
30
30
|
declare function useConnectionSpecPagination<TReadFromStore extends UnknownTReadFromStore, TItem>(loadableField: LoadableField<TReadFromStore, Connection<TItem>, UseConnectionSpecPaginationArgs>, initialState?: PageInfo): UsePaginationReturnValue<TReadFromStore, TItem>;
|
|
31
31
|
//#endregion
|
|
32
32
|
export { Connection, PageInfo, UseConnectionSpecPaginationArgs, UsePaginationReturnValue, useConnectionSpecPagination };
|
|
33
|
-
//# sourceMappingURL=useConnectionSpecPagination.d.
|
|
33
|
+
//# sourceMappingURL=useConnectionSpecPagination.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useConnectionSpecPagination.d.cts","names":[],"sources":["../../src/loadable-hooks/useConnectionSpecPagination.ts"],"mappings":";;;;;KAyBY,wBAAA,wBACa,qBAAA;EAInB,IAAA;EACA,eAAA,EAAiB,iBAAA,CAAkB,cAAA,EAAgB,UAAA,CAAW,KAAA;EAC9D,OAAA,EAAS,aAAA,CAAc,KAAA;AAAA;EAGvB,IAAA;EACA,SAAA,GACE,KAAA,UACA,YAAA,GAAe,YAAA,CAAa,UAAA,CAAW,KAAA;EAEzC,OAAA,EAAS,aAAA,CAAc,KAAA;AAAA;EAGvB,IAAA;EACA,OAAA,EAAS,aAAA,CAAc,KAAA;AAAA;AAAA,KAyBjB,QAAA;EAAA,SACD,WAAA;EAAA,SACA,SAAA;AAAA;AAAA,KAGC,UAAA;EAAA,SACD,KAAA,EAAO,aAAA,CAAc,CAAA;EAAA,SACrB,QAAA,EAAU,QAAA;AAAA;AAAA,KAQT,+BAAA;EACV,KAAA;EACA,KAAA;AAAA;AAAA,iBAGc,2BAAA,wBACS,qBAAA,QAAA,CAGvB,aAAA,EAAe,aAAA,CACb,cAAA,EACA,UAAA,CAAW,KAAA,GACX,+BAAA,GAEF,YAAA,GAAe,QAAA,GACd,wBAAA,CAAyB,cAAA,EAAgB,KAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useConnectionSpecPagination.d.mts","names":[],"sources":["../../src/loadable-hooks/useConnectionSpecPagination.ts"],"
|
|
1
|
+
{"version":3,"file":"useConnectionSpecPagination.d.mts","names":[],"sources":["../../src/loadable-hooks/useConnectionSpecPagination.ts"],"mappings":";;;;;KAyBY,wBAAA,wBACa,qBAAA;EAInB,IAAA;EACA,eAAA,EAAiB,iBAAA,CAAkB,cAAA,EAAgB,UAAA,CAAW,KAAA;EAC9D,OAAA,EAAS,aAAA,CAAc,KAAA;AAAA;EAGvB,IAAA;EACA,SAAA,GACE,KAAA,UACA,YAAA,GAAe,YAAA,CAAa,UAAA,CAAW,KAAA;EAEzC,OAAA,EAAS,aAAA,CAAc,KAAA;AAAA;EAGvB,IAAA;EACA,OAAA,EAAS,aAAA,CAAc,KAAA;AAAA;AAAA,KAyBjB,QAAA;EAAA,SACD,WAAA;EAAA,SACA,SAAA;AAAA;AAAA,KAGC,UAAA;EAAA,SACD,KAAA,EAAO,aAAA,CAAc,CAAA;EAAA,SACrB,QAAA,EAAU,QAAA;AAAA;AAAA,KAQT,+BAAA;EACV,KAAA;EACA,KAAA;AAAA;AAAA,iBAGc,2BAAA,wBACS,qBAAA,QAAA,CAGvB,aAAA,EAAe,aAAA,CACb,cAAA,EACA,UAAA,CAAW,KAAA,GACX,+BAAA,GAEF,YAAA,GAAe,QAAA,GACd,wBAAA,CAAyB,cAAA,EAAgB,KAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useConnectionSpecPagination.mjs","names":["outArray: Array<T>","mostRecentItem:\n | LoadedFragmentReference<TReadFromStore, Connection<TItem>>\n | undefined"],"sources":["../../src/loadable-hooks/useConnectionSpecPagination.ts"],"sourcesContent":["import type { ItemCleanupPair } from '@isograph/disposable-types';\nimport {\n UNASSIGNED_STATE,\n useUpdatableDisposableState,\n} from '@isograph/react-disposable-state';\nimport type { ReferenceCountedPointer } from '@isograph/reference-counted-pointer';\nimport { createReferenceCountedPointer } from '@isograph/reference-counted-pointer';\nimport { useState } from 'react';\nimport { subscribeToAnyChange } from '../core/cache';\nimport type { FetchOptions } from '../core/check';\nimport type {\n FragmentReference,\n UnknownTReadFromStore,\n} from '../core/FragmentReference';\nimport { getPromiseState, readPromise } from '../core/PromiseWrapper';\nimport {\n readButDoNotEvaluate,\n type WithEncounteredRecords,\n} from '../core/read';\nimport type { LoadableField, ReaderAst } from '../core/reader';\nimport { getOrCreateCachedStartUpdate } from '../core/startUpdate';\nimport { useIsographEnvironment } from '../react/IsographEnvironmentProvider';\nimport { maybeUnwrapNetworkRequest } from '../react/maybeUnwrapNetworkRequest';\nimport { useSubscribeToMultiple } from '../react/useReadAndSubscribe';\n\nexport type UsePaginationReturnValue<\n TReadFromStore extends UnknownTReadFromStore,\n TItem,\n> =\n | {\n kind: 'Pending';\n pendingFragment: FragmentReference<TReadFromStore, Connection<TItem>>;\n results: ReadonlyArray<TItem>;\n }\n | {\n kind: 'HasMoreRecords';\n fetchMore: (\n count: number,\n fetchOptions?: FetchOptions<Connection<TItem>, never>,\n ) => void;\n results: ReadonlyArray<TItem>;\n }\n | {\n kind: 'NoMoreRecords';\n results: ReadonlyArray<TItem>;\n };\n\ntype LoadedFragmentReferences<\n TReadFromStore extends { parameters: object; data: object },\n TItem,\n> = ReadonlyArray<LoadedFragmentReference<TReadFromStore, TItem>>;\n\ntype LoadedFragmentReference<\n TReadFromStore extends { parameters: object; data: object },\n TItem,\n> = ItemCleanupPair<\n ReferenceCountedPointer<FragmentReference<TReadFromStore, TItem>>\n>;\n\nfunction flatten<T>(arr: ReadonlyArray<ReadonlyArray<T>>): ReadonlyArray<T> {\n let outArray: Array<T> = [];\n for (const subarr of arr) {\n for (const item of subarr) {\n outArray.push(item);\n }\n }\n return outArray;\n}\n\nexport type PageInfo = {\n readonly hasNextPage: boolean;\n readonly endCursor: string | null;\n};\n\nexport type Connection<T> = {\n readonly edges: ReadonlyArray<T> | null;\n readonly pageInfo: PageInfo;\n};\n\ntype NonNullConnection<T> = {\n readonly edges: ReadonlyArray<T>;\n readonly pageInfo: PageInfo;\n};\n\nexport type UseConnectionSpecPaginationArgs = {\n first: number;\n after: string | null;\n};\n\nexport function useConnectionSpecPagination<\n TReadFromStore extends UnknownTReadFromStore,\n TItem,\n>(\n loadableField: LoadableField<\n TReadFromStore,\n Connection<TItem>,\n UseConnectionSpecPaginationArgs\n >,\n initialState?: PageInfo,\n): UsePaginationReturnValue<TReadFromStore, TItem> {\n const networkRequestOptions = {\n suspendIfInFlight: true,\n throwOnNetworkError: true,\n };\n const { state, setState } =\n useUpdatableDisposableState<\n LoadedFragmentReferences<TReadFromStore, Connection<TItem>>\n >();\n\n const environment = useIsographEnvironment();\n\n // TODO move this out of useSkipLimitPagination, and pass environment and networkRequestOptions\n // as parameters (or recreate networkRequestOptions)\n function readCompletedFragmentReferences(\n completedReferences: FragmentReference<TReadFromStore, Connection<TItem>>[],\n ): NonNullConnection<TItem> {\n const results = completedReferences.map((fragmentReference, i) => {\n const readerWithRefetchQueries = readPromise(\n fragmentReference.readerWithRefetchQueries,\n );\n\n // invariant: readOutDataAndRecords.length === completedReferences.length\n const data = readOutDataAndRecords[i]?.item;\n if (data == null) {\n throw new Error(\n 'Parameter data is unexpectedly null. This is indicative of a bug in Isograph.',\n );\n }\n\n const firstParameter = {\n data,\n parameters: fragmentReference.variables,\n ...(readerWithRefetchQueries.readerArtifact.hasUpdatable\n ? {\n startUpdate: getOrCreateCachedStartUpdate(\n environment,\n fragmentReference,\n networkRequestOptions,\n ),\n }\n : undefined),\n };\n\n if (\n readerWithRefetchQueries.readerArtifact.kind !== 'EagerReaderArtifact'\n ) {\n throw new Error(\n `@loadable field of kind \"${readerWithRefetchQueries.readerArtifact.kind}\" is not supported by useSkipLimitPagination`,\n );\n }\n\n return readerWithRefetchQueries.readerArtifact.resolver(firstParameter);\n });\n\n const items = flatten(results.map((result) => result.edges ?? []));\n\n return {\n edges: items,\n pageInfo: results[results.length - 1]?.pageInfo ?? {\n endCursor: null,\n hasNextPage: true,\n },\n };\n }\n\n function subscribeCompletedFragmentReferences(\n completedReferences: FragmentReference<TReadFromStore, Connection<TItem>>[],\n ) {\n return completedReferences.map(\n (\n fragmentReference,\n i,\n ): {\n records: WithEncounteredRecords<TReadFromStore>;\n callback: (\n updatedRecords: WithEncounteredRecords<TReadFromStore>,\n ) => void;\n fragmentReference: FragmentReference<TReadFromStore, Connection<TItem>>;\n readerAst: ReaderAst<Connection<TItem>>;\n } => {\n maybeUnwrapNetworkRequest(\n fragmentReference.networkRequest,\n networkRequestOptions,\n );\n\n const readerWithRefetchQueries = readPromise(\n fragmentReference.readerWithRefetchQueries,\n );\n\n const records = readOutDataAndRecords[i];\n if (records == null) {\n throw new Error(\n 'subscribeCompletedFragmentReferences records is unexpectedly null',\n );\n }\n\n return {\n fragmentReference,\n readerAst: readerWithRefetchQueries.readerArtifact.readerAst,\n records,\n callback(_data) {\n rerender({});\n },\n };\n },\n );\n }\n\n const getFetchMore =\n (after: string | null) =>\n (\n count: number,\n fetchOptions?: FetchOptions<Connection<TItem>, never>,\n ): void => {\n const loadedField = loadableField(\n {\n after: after,\n first: count,\n },\n fetchOptions ?? {},\n )[1]();\n const newPointer = createReferenceCountedPointer(loadedField);\n const clonedPointers = loadedReferences.map(([refCountedPointer]) => {\n const clonedRefCountedPointer = refCountedPointer.cloneIfNotDisposed();\n if (clonedRefCountedPointer == null) {\n throw new Error(\n 'This reference counted pointer has already been disposed. \\\n This is indicative of a bug in useSkipLimitPagination.',\n );\n }\n return clonedRefCountedPointer;\n });\n clonedPointers.push(newPointer);\n\n const totalItemCleanupPair: ItemCleanupPair<\n ReadonlyArray<\n ItemCleanupPair<\n ReferenceCountedPointer<\n FragmentReference<TReadFromStore, Connection<TItem>>\n >\n >\n >\n > = [\n clonedPointers,\n () => {\n clonedPointers.forEach(([, dispose]) => {\n dispose();\n });\n },\n ];\n\n setState(totalItemCleanupPair);\n };\n\n const [, rerender] = useState({});\n\n const loadedReferences = state === UNASSIGNED_STATE ? [] : state;\n\n const mostRecentItem:\n | LoadedFragmentReference<TReadFromStore, Connection<TItem>>\n | undefined = loadedReferences[loadedReferences.length - 1];\n const mostRecentFragmentReference =\n mostRecentItem?.[0].getItemIfNotDisposed();\n\n if (mostRecentItem != null && mostRecentFragmentReference == null) {\n throw new Error(\n 'FragmentReference is unexpectedly disposed. \\\n This is indicative of a bug in Isograph.',\n );\n }\n\n const networkRequestStatus =\n mostRecentFragmentReference != null\n ? {\n mostRecentFragmentReference,\n state: getPromiseState(mostRecentFragmentReference.networkRequest),\n }\n : null;\n\n const slicedFragmentReferences =\n networkRequestStatus?.state?.kind === 'Ok'\n ? loadedReferences\n : loadedReferences.slice(0, loadedReferences.length - 1);\n\n const completedFragmentReferences = slicedFragmentReferences.map(\n ([pointer]) => {\n const fragmentReference = pointer.getItemIfNotDisposed();\n if (fragmentReference == null) {\n throw new Error(\n 'FragmentReference is unexpectedly disposed. \\\n This is indicative of a bug in Isograph.',\n );\n }\n return fragmentReference;\n },\n );\n\n const readOutDataAndRecords = completedFragmentReferences.map(\n (fragmentReference) =>\n readButDoNotEvaluate(\n environment,\n fragmentReference,\n networkRequestOptions,\n ),\n );\n\n useSubscribeToMultiple<TReadFromStore>(\n subscribeCompletedFragmentReferences(completedFragmentReferences),\n );\n\n if (networkRequestStatus == null) {\n if (initialState?.hasNextPage ?? true) {\n return {\n kind: 'HasMoreRecords',\n fetchMore: getFetchMore(initialState?.endCursor ?? null),\n results: [],\n };\n } else {\n return {\n kind: 'NoMoreRecords',\n results: [],\n };\n }\n }\n\n switch (networkRequestStatus.state.kind) {\n case 'Pending': {\n const unsubscribe = subscribeToAnyChange(environment, () => {\n unsubscribe();\n rerender({});\n });\n\n const results = readCompletedFragmentReferences(\n completedFragmentReferences,\n );\n return {\n results: results.edges,\n kind: 'Pending',\n pendingFragment: networkRequestStatus.mostRecentFragmentReference,\n };\n }\n case 'Err': {\n throw networkRequestStatus.state.error;\n }\n case 'Ok': {\n const results = readCompletedFragmentReferences(\n completedFragmentReferences,\n );\n\n if (results.pageInfo.hasNextPage) {\n return {\n kind: 'HasMoreRecords',\n fetchMore: getFetchMore(results.pageInfo.endCursor),\n results: results.edges,\n };\n } else {\n return {\n kind: 'NoMoreRecords',\n results: results.edges,\n };\n }\n }\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useConnectionSpecPagination.mjs","names":[],"sources":["../../src/loadable-hooks/useConnectionSpecPagination.ts"],"sourcesContent":["import type { ItemCleanupPair } from '@isograph/disposable-types';\nimport {\n UNASSIGNED_STATE,\n useUpdatableDisposableState,\n} from '@isograph/react-disposable-state';\nimport type { ReferenceCountedPointer } from '@isograph/reference-counted-pointer';\nimport { createReferenceCountedPointer } from '@isograph/reference-counted-pointer';\nimport { useState } from 'react';\nimport { subscribeToAnyChange } from '../core/cache';\nimport type { FetchOptions } from '../core/check';\nimport type {\n FragmentReference,\n UnknownTReadFromStore,\n} from '../core/FragmentReference';\nimport { getPromiseState, readPromise } from '../core/PromiseWrapper';\nimport {\n readButDoNotEvaluate,\n type WithEncounteredRecords,\n} from '../core/read';\nimport type { LoadableField, ReaderAst } from '../core/reader';\nimport { getOrCreateCachedStartUpdate } from '../core/startUpdate';\nimport { useIsographEnvironment } from '../react/IsographEnvironmentProvider';\nimport { maybeUnwrapNetworkRequest } from '../react/maybeUnwrapNetworkRequest';\nimport { useSubscribeToMultiple } from '../react/useReadAndSubscribe';\n\nexport type UsePaginationReturnValue<\n TReadFromStore extends UnknownTReadFromStore,\n TItem,\n> =\n | {\n kind: 'Pending';\n pendingFragment: FragmentReference<TReadFromStore, Connection<TItem>>;\n results: ReadonlyArray<TItem>;\n }\n | {\n kind: 'HasMoreRecords';\n fetchMore: (\n count: number,\n fetchOptions?: FetchOptions<Connection<TItem>, never>,\n ) => void;\n results: ReadonlyArray<TItem>;\n }\n | {\n kind: 'NoMoreRecords';\n results: ReadonlyArray<TItem>;\n };\n\ntype LoadedFragmentReferences<\n TReadFromStore extends { parameters: object; data: object },\n TItem,\n> = ReadonlyArray<LoadedFragmentReference<TReadFromStore, TItem>>;\n\ntype LoadedFragmentReference<\n TReadFromStore extends { parameters: object; data: object },\n TItem,\n> = ItemCleanupPair<\n ReferenceCountedPointer<FragmentReference<TReadFromStore, TItem>>\n>;\n\nfunction flatten<T>(arr: ReadonlyArray<ReadonlyArray<T>>): ReadonlyArray<T> {\n let outArray: Array<T> = [];\n for (const subarr of arr) {\n for (const item of subarr) {\n outArray.push(item);\n }\n }\n return outArray;\n}\n\nexport type PageInfo = {\n readonly hasNextPage: boolean;\n readonly endCursor: string | null;\n};\n\nexport type Connection<T> = {\n readonly edges: ReadonlyArray<T> | null;\n readonly pageInfo: PageInfo;\n};\n\ntype NonNullConnection<T> = {\n readonly edges: ReadonlyArray<T>;\n readonly pageInfo: PageInfo;\n};\n\nexport type UseConnectionSpecPaginationArgs = {\n first: number;\n after: string | null;\n};\n\nexport function useConnectionSpecPagination<\n TReadFromStore extends UnknownTReadFromStore,\n TItem,\n>(\n loadableField: LoadableField<\n TReadFromStore,\n Connection<TItem>,\n UseConnectionSpecPaginationArgs\n >,\n initialState?: PageInfo,\n): UsePaginationReturnValue<TReadFromStore, TItem> {\n const networkRequestOptions = {\n suspendIfInFlight: true,\n throwOnNetworkError: true,\n };\n const { state, setState } =\n useUpdatableDisposableState<\n LoadedFragmentReferences<TReadFromStore, Connection<TItem>>\n >();\n\n const environment = useIsographEnvironment();\n\n // TODO move this out of useSkipLimitPagination, and pass environment and networkRequestOptions\n // as parameters (or recreate networkRequestOptions)\n function readCompletedFragmentReferences(\n completedReferences: FragmentReference<TReadFromStore, Connection<TItem>>[],\n ): NonNullConnection<TItem> {\n const results = completedReferences.map((fragmentReference, i) => {\n const readerWithRefetchQueries = readPromise(\n fragmentReference.readerWithRefetchQueries,\n );\n\n // invariant: readOutDataAndRecords.length === completedReferences.length\n const data = readOutDataAndRecords[i]?.item;\n if (data == null) {\n throw new Error(\n 'Parameter data is unexpectedly null. This is indicative of a bug in Isograph.',\n );\n }\n\n const firstParameter = {\n data,\n parameters: fragmentReference.variables,\n ...(readerWithRefetchQueries.readerArtifact.hasUpdatable\n ? {\n startUpdate: getOrCreateCachedStartUpdate(\n environment,\n fragmentReference,\n networkRequestOptions,\n ),\n }\n : undefined),\n };\n\n if (\n readerWithRefetchQueries.readerArtifact.kind !== 'EagerReaderArtifact'\n ) {\n throw new Error(\n `@loadable field of kind \"${readerWithRefetchQueries.readerArtifact.kind}\" is not supported by useSkipLimitPagination`,\n );\n }\n\n return readerWithRefetchQueries.readerArtifact.resolver(firstParameter);\n });\n\n const items = flatten(results.map((result) => result.edges ?? []));\n\n return {\n edges: items,\n pageInfo: results[results.length - 1]?.pageInfo ?? {\n endCursor: null,\n hasNextPage: true,\n },\n };\n }\n\n function subscribeCompletedFragmentReferences(\n completedReferences: FragmentReference<TReadFromStore, Connection<TItem>>[],\n ) {\n return completedReferences.map(\n (\n fragmentReference,\n i,\n ): {\n records: WithEncounteredRecords<TReadFromStore>;\n callback: (\n updatedRecords: WithEncounteredRecords<TReadFromStore>,\n ) => void;\n fragmentReference: FragmentReference<TReadFromStore, Connection<TItem>>;\n readerAst: ReaderAst<Connection<TItem>>;\n } => {\n maybeUnwrapNetworkRequest(\n fragmentReference.networkRequest,\n networkRequestOptions,\n );\n\n const readerWithRefetchQueries = readPromise(\n fragmentReference.readerWithRefetchQueries,\n );\n\n const records = readOutDataAndRecords[i];\n if (records == null) {\n throw new Error(\n 'subscribeCompletedFragmentReferences records is unexpectedly null',\n );\n }\n\n return {\n fragmentReference,\n readerAst: readerWithRefetchQueries.readerArtifact.readerAst,\n records,\n callback(_data) {\n rerender({});\n },\n };\n },\n );\n }\n\n const getFetchMore =\n (after: string | null) =>\n (\n count: number,\n fetchOptions?: FetchOptions<Connection<TItem>, never>,\n ): void => {\n const loadedField = loadableField(\n {\n after: after,\n first: count,\n },\n fetchOptions ?? {},\n )[1]();\n const newPointer = createReferenceCountedPointer(loadedField);\n const clonedPointers = loadedReferences.map(([refCountedPointer]) => {\n const clonedRefCountedPointer = refCountedPointer.cloneIfNotDisposed();\n if (clonedRefCountedPointer == null) {\n throw new Error(\n 'This reference counted pointer has already been disposed. \\\n This is indicative of a bug in useSkipLimitPagination.',\n );\n }\n return clonedRefCountedPointer;\n });\n clonedPointers.push(newPointer);\n\n const totalItemCleanupPair: ItemCleanupPair<\n ReadonlyArray<\n ItemCleanupPair<\n ReferenceCountedPointer<\n FragmentReference<TReadFromStore, Connection<TItem>>\n >\n >\n >\n > = [\n clonedPointers,\n () => {\n clonedPointers.forEach(([, dispose]) => {\n dispose();\n });\n },\n ];\n\n setState(totalItemCleanupPair);\n };\n\n const [, rerender] = useState({});\n\n const loadedReferences = state === UNASSIGNED_STATE ? [] : state;\n\n const mostRecentItem:\n | LoadedFragmentReference<TReadFromStore, Connection<TItem>>\n | undefined = loadedReferences[loadedReferences.length - 1];\n const mostRecentFragmentReference =\n mostRecentItem?.[0].getItemIfNotDisposed();\n\n if (mostRecentItem != null && mostRecentFragmentReference == null) {\n throw new Error(\n 'FragmentReference is unexpectedly disposed. \\\n This is indicative of a bug in Isograph.',\n );\n }\n\n const networkRequestStatus =\n mostRecentFragmentReference != null\n ? {\n mostRecentFragmentReference,\n state: getPromiseState(mostRecentFragmentReference.networkRequest),\n }\n : null;\n\n const slicedFragmentReferences =\n networkRequestStatus?.state?.kind === 'Ok'\n ? loadedReferences\n : loadedReferences.slice(0, loadedReferences.length - 1);\n\n const completedFragmentReferences = slicedFragmentReferences.map(\n ([pointer]) => {\n const fragmentReference = pointer.getItemIfNotDisposed();\n if (fragmentReference == null) {\n throw new Error(\n 'FragmentReference is unexpectedly disposed. \\\n This is indicative of a bug in Isograph.',\n );\n }\n return fragmentReference;\n },\n );\n\n const readOutDataAndRecords = completedFragmentReferences.map(\n (fragmentReference) =>\n readButDoNotEvaluate(\n environment,\n fragmentReference,\n networkRequestOptions,\n ),\n );\n\n useSubscribeToMultiple<TReadFromStore>(\n subscribeCompletedFragmentReferences(completedFragmentReferences),\n );\n\n if (networkRequestStatus == null) {\n if (initialState?.hasNextPage ?? true) {\n return {\n kind: 'HasMoreRecords',\n fetchMore: getFetchMore(initialState?.endCursor ?? null),\n results: [],\n };\n } else {\n return {\n kind: 'NoMoreRecords',\n results: [],\n };\n }\n }\n\n switch (networkRequestStatus.state.kind) {\n case 'Pending': {\n const unsubscribe = subscribeToAnyChange(environment, () => {\n unsubscribe();\n rerender({});\n });\n\n const results = readCompletedFragmentReferences(\n completedFragmentReferences,\n );\n return {\n results: results.edges,\n kind: 'Pending',\n pendingFragment: networkRequestStatus.mostRecentFragmentReference,\n };\n }\n case 'Err': {\n throw networkRequestStatus.state.error;\n }\n case 'Ok': {\n const results = readCompletedFragmentReferences(\n completedFragmentReferences,\n );\n\n if (results.pageInfo.hasNextPage) {\n return {\n kind: 'HasMoreRecords',\n fetchMore: getFetchMore(results.pageInfo.endCursor),\n results: results.edges,\n };\n } else {\n return {\n kind: 'NoMoreRecords',\n results: results.edges,\n };\n }\n }\n }\n}\n"],"mappings":"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"}
|
|
@@ -5,4 +5,4 @@ type UseImperativeLoadableFieldReturn<TArgs> = {
|
|
|
5
5
|
declare function useImperativeExposedMutationField<TArgs>(exposedField: (args: TArgs) => [string, () => void]): UseImperativeLoadableFieldReturn<TArgs>;
|
|
6
6
|
//#endregion
|
|
7
7
|
export { UseImperativeLoadableFieldReturn, useImperativeExposedMutationField };
|
|
8
|
-
//# sourceMappingURL=useImperativeExposedMutationField.d.
|
|
8
|
+
//# sourceMappingURL=useImperativeExposedMutationField.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useImperativeExposedMutationField.d.cts","names":[],"sources":["../../src/loadable-hooks/useImperativeExposedMutationField.ts"],"mappings":";KAAY,gCAAA;EACV,qBAAA,GAAwB,IAAA,EAAM,KAAA;AAAA;AAAA,iBAMhB,iCAAA,OAAA,CACd,YAAA,GAAe,IAAA,EAAM,KAAA,4BACpB,gCAAA,CAAiC,KAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useImperativeExposedMutationField.d.mts","names":[],"sources":["../../src/loadable-hooks/useImperativeExposedMutationField.ts"],"
|
|
1
|
+
{"version":3,"file":"useImperativeExposedMutationField.d.mts","names":[],"sources":["../../src/loadable-hooks/useImperativeExposedMutationField.ts"],"mappings":";KAAY,gCAAA;EACV,qBAAA,GAAwB,IAAA,EAAM,KAAA;AAAA;AAAA,iBAMhB,iCAAA,OAAA,CACd,YAAA,GAAe,IAAA,EAAM,KAAA,4BACpB,gCAAA,CAAiC,KAAA"}
|
package/dist/loadable-hooks/{useImperativeLoadableField.js → useImperativeLoadableField.cjs}
RENAMED
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.
|
|
2
|
-
let
|
|
3
|
-
__isograph_react_disposable_state = require_rolldown_runtime.__toESM(__isograph_react_disposable_state);
|
|
1
|
+
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
let _isograph_react_disposable_state = require("@isograph/react-disposable-state");
|
|
4
3
|
|
|
5
4
|
//#region src/loadable-hooks/useImperativeLoadableField.ts
|
|
6
5
|
function useImperativeLoadableField(loadableField) {
|
|
7
|
-
const { state, setState } = (0,
|
|
6
|
+
const { state, setState } = (0, _isograph_react_disposable_state.useUpdatableDisposableState)();
|
|
8
7
|
return {
|
|
9
8
|
loadFragmentReference: (args, fetchOptions) => {
|
|
10
9
|
const [_id, loader] = loadableField(args, fetchOptions ?? {});
|
|
11
10
|
setState(loader());
|
|
12
11
|
},
|
|
13
|
-
fragmentReference: state !==
|
|
12
|
+
fragmentReference: state !== _isograph_react_disposable_state.UNASSIGNED_STATE ? state : null
|
|
14
13
|
};
|
|
15
14
|
}
|
|
16
15
|
|
package/dist/loadable-hooks/{useImperativeLoadableField.d.ts → useImperativeLoadableField.d.cts}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { FetchOptions } from "../core/check.
|
|
2
|
-
import { LoadableField } from "../core/reader.
|
|
3
|
-
import { ExtractParameters, FragmentReference } from "../core/FragmentReference.
|
|
1
|
+
import { FetchOptions } from "../core/check.cjs";
|
|
2
|
+
import { LoadableField } from "../core/reader.cjs";
|
|
3
|
+
import { ExtractParameters, FragmentReference } from "../core/FragmentReference.cjs";
|
|
4
4
|
|
|
5
5
|
//#region src/loadable-hooks/useImperativeLoadableField.d.ts
|
|
6
6
|
type UseImperativeLoadableFieldReturn<TReadFromStore extends {
|
|
@@ -16,4 +16,4 @@ declare function useImperativeLoadableField<TReadFromStore extends {
|
|
|
16
16
|
}, TResult, TProvidedArgs extends object>(loadableField: LoadableField<TReadFromStore, TResult, Omit<ExtractParameters<TReadFromStore>, keyof TProvidedArgs>>): UseImperativeLoadableFieldReturn<TReadFromStore, TResult, TProvidedArgs>;
|
|
17
17
|
//#endregion
|
|
18
18
|
export { UseImperativeLoadableFieldReturn, useImperativeLoadableField };
|
|
19
|
-
//# sourceMappingURL=useImperativeLoadableField.d.
|
|
19
|
+
//# sourceMappingURL=useImperativeLoadableField.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useImperativeLoadableField.d.cts","names":[],"sources":["../../src/loadable-hooks/useImperativeLoadableField.ts"],"mappings":";;;;;KAWY,gCAAA;EACe,IAAA;EAAc,UAAA;AAAA;EAIvC,iBAAA,EAAmB,iBAAA,CAAkB,cAAA,EAAgB,OAAA;EACrD,qBAAA,GAGE,IAAA,EAAM,IAAA,CAAK,iBAAA,CAAkB,cAAA,SAAuB,aAAA,UACpD,YAAA,GAAe,YAAA,CAAa,OAAA;AAAA;AAAA,iBAIhB,0BAAA;EACW,IAAA;EAAc,UAAA;AAAA,yCAAA,CAIvC,aAAA,EAAe,aAAA,CACb,cAAA,EACA,OAAA,EACA,IAAA,CAAK,iBAAA,CAAkB,cAAA,SAAuB,aAAA,KAE/C,gCAAA,CAAiC,cAAA,EAAgB,OAAA,EAAS,aAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useImperativeLoadableField.d.mts","names":[],"sources":["../../src/loadable-hooks/useImperativeLoadableField.ts"],"
|
|
1
|
+
{"version":3,"file":"useImperativeLoadableField.d.mts","names":[],"sources":["../../src/loadable-hooks/useImperativeLoadableField.ts"],"mappings":";;;;;KAWY,gCAAA;EACe,IAAA;EAAc,UAAA;AAAA;EAIvC,iBAAA,EAAmB,iBAAA,CAAkB,cAAA,EAAgB,OAAA;EACrD,qBAAA,GAGE,IAAA,EAAM,IAAA,CAAK,iBAAA,CAAkB,cAAA,SAAuB,aAAA,UACpD,YAAA,GAAe,YAAA,CAAa,OAAA;AAAA;AAAA,iBAIhB,0BAAA;EACW,IAAA;EAAc,UAAA;AAAA,yCAAA,CAIvC,aAAA,EAAe,aAAA,CACb,cAAA,EACA,OAAA,EACA,IAAA,CAAK,iBAAA,CAAkB,cAAA,SAAuB,aAAA,KAE/C,gCAAA,CAAiC,cAAA,EAAgB,OAAA,EAAS,aAAA"}
|
|
@@ -1,17 +1,14 @@
|
|
|
1
|
-
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.
|
|
2
|
-
const require_PromiseWrapper = require('../core/PromiseWrapper.
|
|
3
|
-
const require_startUpdate = require('../core/startUpdate.
|
|
4
|
-
const require_read = require('../core/read.
|
|
5
|
-
const require_cache = require('../core/cache.
|
|
6
|
-
const require_IsographEnvironmentProvider = require('../react/IsographEnvironmentProvider.
|
|
7
|
-
const require_maybeUnwrapNetworkRequest = require('../react/maybeUnwrapNetworkRequest.
|
|
8
|
-
const require_useReadAndSubscribe = require('../react/useReadAndSubscribe.
|
|
9
|
-
let
|
|
10
|
-
__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_PromiseWrapper = require('../core/PromiseWrapper.cjs');
|
|
3
|
+
const require_startUpdate = require('../core/startUpdate.cjs');
|
|
4
|
+
const require_read = require('../core/read.cjs');
|
|
5
|
+
const require_cache = require('../core/cache.cjs');
|
|
6
|
+
const require_IsographEnvironmentProvider = require('../react/IsographEnvironmentProvider.cjs');
|
|
7
|
+
const require_maybeUnwrapNetworkRequest = require('../react/maybeUnwrapNetworkRequest.cjs');
|
|
8
|
+
const require_useReadAndSubscribe = require('../react/useReadAndSubscribe.cjs');
|
|
9
|
+
let _isograph_react_disposable_state = require("@isograph/react-disposable-state");
|
|
11
10
|
let react = require("react");
|
|
12
|
-
|
|
13
|
-
let __isograph_reference_counted_pointer = require("@isograph/reference-counted-pointer");
|
|
14
|
-
__isograph_reference_counted_pointer = require_rolldown_runtime.__toESM(__isograph_reference_counted_pointer);
|
|
11
|
+
let _isograph_reference_counted_pointer = require("@isograph/reference-counted-pointer");
|
|
15
12
|
|
|
16
13
|
//#region src/loadable-hooks/useSkipLimitPagination.ts
|
|
17
14
|
function flatten(arr) {
|
|
@@ -24,7 +21,7 @@ function useSkipLimitPagination(loadableField, initialState) {
|
|
|
24
21
|
suspendIfInFlight: true,
|
|
25
22
|
throwOnNetworkError: true
|
|
26
23
|
};
|
|
27
|
-
const { state, setState } = (0,
|
|
24
|
+
const { state, setState } = (0, _isograph_react_disposable_state.useUpdatableDisposableState)();
|
|
28
25
|
const environment = require_IsographEnvironmentProvider.useIsographEnvironment();
|
|
29
26
|
function readCompletedFragmentReferences(completedReferences) {
|
|
30
27
|
return flatten(completedReferences.map((fragmentReference, i) => {
|
|
@@ -57,7 +54,7 @@ function useSkipLimitPagination(loadableField, initialState) {
|
|
|
57
54
|
});
|
|
58
55
|
}
|
|
59
56
|
const getFetchMore = (loadedSoFar) => (count, fetchOptions) => {
|
|
60
|
-
const newPointer = (0,
|
|
57
|
+
const newPointer = (0, _isograph_reference_counted_pointer.createReferenceCountedPointer)(loadableField({
|
|
61
58
|
skip: loadedSoFar,
|
|
62
59
|
limit: count
|
|
63
60
|
}, fetchOptions ?? {})[1]());
|
|
@@ -74,7 +71,7 @@ function useSkipLimitPagination(loadableField, initialState) {
|
|
|
74
71
|
}]);
|
|
75
72
|
};
|
|
76
73
|
const [, rerender] = (0, react.useState)({});
|
|
77
|
-
const loadedReferences = state ===
|
|
74
|
+
const loadedReferences = state === _isograph_react_disposable_state.UNASSIGNED_STATE ? [] : state;
|
|
78
75
|
const mostRecentItem = loadedReferences[loadedReferences.length - 1];
|
|
79
76
|
const mostRecentFragmentReference = mostRecentItem?.[0].getItemIfNotDisposed();
|
|
80
77
|
if (mostRecentItem != null && mostRecentFragmentReference == null) throw new Error("FragmentReference is unexpectedly disposed. This is indicative of a bug in Isograph.");
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { FetchOptions } from "../core/check.
|
|
2
|
-
import { LoadableField } from "../core/reader.
|
|
3
|
-
import { FragmentReference, UnknownTReadFromStore } from "../core/FragmentReference.
|
|
1
|
+
import { FetchOptions } from "../core/check.cjs";
|
|
2
|
+
import { LoadableField } from "../core/reader.cjs";
|
|
3
|
+
import { FragmentReference, UnknownTReadFromStore } from "../core/FragmentReference.cjs";
|
|
4
4
|
|
|
5
5
|
//#region src/loadable-hooks/useSkipLimitPagination.d.ts
|
|
6
6
|
type UseSkipLimitReturnValue<TReadFromStore extends UnknownTReadFromStore, TItem> = {
|
|
@@ -21,4 +21,4 @@ declare function useSkipLimitPagination<TItem, TReadFromStore extends UnknownTRe
|
|
|
21
21
|
}): UseSkipLimitReturnValue<TReadFromStore, TItem>;
|
|
22
22
|
//#endregion
|
|
23
23
|
export { UseSkipLimitPaginationArgs, UseSkipLimitReturnValue, useSkipLimitPagination };
|
|
24
|
-
//# sourceMappingURL=useSkipLimitPagination.d.
|
|
24
|
+
//# sourceMappingURL=useSkipLimitPagination.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSkipLimitPagination.d.cts","names":[],"sources":["../../src/loadable-hooks/useSkipLimitPagination.ts"],"mappings":";;;;;KAyBY,uBAAA,wBACa,qBAAA;EAAA,SAIV,IAAA;EAAA,SACA,SAAA,GACP,KAAA,UACA,YAAA,GAAe,YAAA,CAAa,aAAA,CAAc,KAAA;EAAA,SAEnC,OAAA,EAAS,aAAA,CAAc,KAAA;AAAA;EAAA,SAGvB,IAAA;EAAA,SACA,OAAA,EAAS,aAAA,CAAc,KAAA;EAAA,SACvB,eAAA,EAAiB,iBAAA,CACxB,cAAA,EACA,aAAA,CAAc,KAAA;AAAA;AAAA,KA+BV,0BAAA;EACV,IAAA;EACA,KAAA;AAAA;AAAA,iBAGc,sBAAA,+BAES,qBAAA,CAAA,CAEvB,aAAA,EAAe,aAAA,CACb,cAAA,EACA,aAAA,CAAc,KAAA,GACd,0BAAA,GAEF,YAAA;EACE,IAAA;AAAA,IAED,uBAAA,CAAwB,cAAA,EAAgB,KAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSkipLimitPagination.d.mts","names":[],"sources":["../../src/loadable-hooks/useSkipLimitPagination.ts"],"
|
|
1
|
+
{"version":3,"file":"useSkipLimitPagination.d.mts","names":[],"sources":["../../src/loadable-hooks/useSkipLimitPagination.ts"],"mappings":";;;;;KAyBY,uBAAA,wBACa,qBAAA;EAAA,SAIV,IAAA;EAAA,SACA,SAAA,GACP,KAAA,UACA,YAAA,GAAe,YAAA,CAAa,aAAA,CAAc,KAAA;EAAA,SAEnC,OAAA,EAAS,aAAA,CAAc,KAAA;AAAA;EAAA,SAGvB,IAAA;EAAA,SACA,OAAA,EAAS,aAAA,CAAc,KAAA;EAAA,SACvB,eAAA,EAAiB,iBAAA,CACxB,cAAA,EACA,aAAA,CAAc,KAAA;AAAA;AAAA,KA+BV,0BAAA;EACV,IAAA;EACA,KAAA;AAAA;AAAA,iBAGc,sBAAA,+BAES,qBAAA,CAAA,CAEvB,aAAA,EAAe,aAAA,CACb,cAAA,EACA,aAAA,CAAc,KAAA,GACd,0BAAA,GAEF,YAAA;EACE,IAAA;AAAA,IAED,uBAAA,CAAwB,cAAA,EAAgB,KAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSkipLimitPagination.mjs","names":["outArray: Array<T>","mostRecentItem:\n | LoadedFragmentReference<TReadFromStore, TItem>\n | undefined"],"sources":["../../src/loadable-hooks/useSkipLimitPagination.ts"],"sourcesContent":["import type { ItemCleanupPair } from '@isograph/disposable-types';\nimport {\n UNASSIGNED_STATE,\n useUpdatableDisposableState,\n} from '@isograph/react-disposable-state';\nimport type { ReferenceCountedPointer } from '@isograph/reference-counted-pointer';\nimport { createReferenceCountedPointer } from '@isograph/reference-counted-pointer';\nimport { useState } from 'react';\nimport { subscribeToAnyChange } from '../core/cache';\nimport type { FetchOptions } from '../core/check';\nimport type {\n FragmentReference,\n UnknownTReadFromStore,\n} from '../core/FragmentReference';\nimport { getPromiseState, readPromise } from '../core/PromiseWrapper';\nimport {\n readButDoNotEvaluate,\n type WithEncounteredRecords,\n} from '../core/read';\nimport type { LoadableField, ReaderAst } from '../core/reader';\nimport { getOrCreateCachedStartUpdate } from '../core/startUpdate';\nimport { useIsographEnvironment } from '../react/IsographEnvironmentProvider';\nimport { maybeUnwrapNetworkRequest } from '../react/maybeUnwrapNetworkRequest';\nimport { useSubscribeToMultiple } from '../react/useReadAndSubscribe';\n\nexport type UseSkipLimitReturnValue<\n TReadFromStore extends UnknownTReadFromStore,\n TItem,\n> =\n | {\n readonly kind: 'Complete';\n readonly fetchMore: (\n count: number,\n fetchOptions?: FetchOptions<ReadonlyArray<TItem>, never>,\n ) => void;\n readonly results: ReadonlyArray<TItem>;\n }\n | {\n readonly kind: 'Pending';\n readonly results: ReadonlyArray<TItem>;\n readonly pendingFragment: FragmentReference<\n TReadFromStore,\n ReadonlyArray<TItem>\n >;\n };\n\ntype ArrayFragmentReference<\n TReadFromStore extends UnknownTReadFromStore,\n TItem,\n> = FragmentReference<TReadFromStore, ReadonlyArray<TItem>>;\n\ntype LoadedFragmentReferences<\n TReadFromStore extends { parameters: object; data: object },\n TItem,\n> = ReadonlyArray<LoadedFragmentReference<TReadFromStore, TItem>>;\n\ntype LoadedFragmentReference<\n TReadFromStore extends { parameters: object; data: object },\n TItem,\n> = ItemCleanupPair<\n ReferenceCountedPointer<ArrayFragmentReference<TReadFromStore, TItem>>\n>;\n\nfunction flatten<T>(arr: ReadonlyArray<ReadonlyArray<T>>): ReadonlyArray<T> {\n let outArray: Array<T> = [];\n for (const subarr of arr) {\n for (const item of subarr) {\n outArray.push(item);\n }\n }\n return outArray;\n}\n\nexport type UseSkipLimitPaginationArgs = {\n skip: number;\n limit: number;\n};\n\nexport function useSkipLimitPagination<\n TItem,\n TReadFromStore extends UnknownTReadFromStore,\n>(\n loadableField: LoadableField<\n TReadFromStore,\n ReadonlyArray<TItem>,\n UseSkipLimitPaginationArgs\n >,\n initialState?: {\n skip?: number | void | null;\n },\n): UseSkipLimitReturnValue<TReadFromStore, TItem> {\n const networkRequestOptions = {\n suspendIfInFlight: true,\n throwOnNetworkError: true,\n };\n const { state, setState } =\n useUpdatableDisposableState<\n LoadedFragmentReferences<TReadFromStore, TItem>\n >();\n\n const environment = useIsographEnvironment();\n\n // TODO move this out of useSkipLimitPagination, and pass environment and networkRequestOptions\n // as parameters (or recreate networkRequestOptions)\n function readCompletedFragmentReferences(\n completedReferences: ArrayFragmentReference<TReadFromStore, TItem>[],\n ) {\n const results = completedReferences.map((fragmentReference, i) => {\n const readerWithRefetchQueries = readPromise(\n fragmentReference.readerWithRefetchQueries,\n );\n\n // invariant: readOutDataAndRecords.length === completedReferences.length\n const data = readOutDataAndRecords[i]?.item;\n if (data == null) {\n throw new Error(\n 'Parameter data is unexpectedly null. This is indicative of a bug in Isograph.',\n );\n }\n\n const firstParameter = {\n data,\n parameters: fragmentReference.variables,\n ...(readerWithRefetchQueries.readerArtifact.hasUpdatable\n ? {\n startUpdate: getOrCreateCachedStartUpdate(\n environment,\n fragmentReference,\n networkRequestOptions,\n ),\n }\n : undefined),\n };\n\n if (\n readerWithRefetchQueries.readerArtifact.kind !== 'EagerReaderArtifact'\n ) {\n throw new Error(\n `@loadable field of kind \"${readerWithRefetchQueries.readerArtifact.kind}\" is not supported by useSkipLimitPagination`,\n );\n }\n\n return readerWithRefetchQueries.readerArtifact.resolver(firstParameter);\n });\n\n const items = flatten(results);\n return items;\n }\n\n function subscribeCompletedFragmentReferences(\n completedReferences: ArrayFragmentReference<TReadFromStore, TItem>[],\n ) {\n return completedReferences.map(\n (\n fragmentReference,\n i,\n ): {\n records: WithEncounteredRecords<TReadFromStore>;\n callback: (\n updatedRecords: WithEncounteredRecords<TReadFromStore>,\n ) => void;\n fragmentReference: ArrayFragmentReference<TReadFromStore, TItem>;\n readerAst: ReaderAst<TItem>;\n } => {\n maybeUnwrapNetworkRequest(\n fragmentReference.networkRequest,\n networkRequestOptions,\n );\n\n const readerWithRefetchQueries = readPromise(\n fragmentReference.readerWithRefetchQueries,\n );\n\n const records = readOutDataAndRecords[i];\n if (records == null) {\n throw new Error(\n 'subscribeCompletedFragmentReferences records is unexpectedly null',\n );\n }\n\n return {\n fragmentReference,\n readerAst: readerWithRefetchQueries.readerArtifact.readerAst,\n records,\n callback(_data) {\n rerender({});\n },\n };\n },\n );\n }\n\n const getFetchMore =\n (loadedSoFar: number) =>\n (\n count: number,\n fetchOptions?: FetchOptions<ReadonlyArray<TItem>, never>,\n ): void => {\n const loadedField = loadableField(\n {\n skip: loadedSoFar,\n limit: count,\n },\n fetchOptions ?? {},\n )[1]();\n const newPointer = createReferenceCountedPointer(loadedField);\n const clonedPointers = loadedReferences.map(([refCountedPointer]) => {\n const clonedRefCountedPointer = refCountedPointer.cloneIfNotDisposed();\n if (clonedRefCountedPointer == null) {\n throw new Error(\n 'This reference counted pointer has already been disposed. \\\n This is indicative of a bug in useSkipLimitPagination.',\n );\n }\n return clonedRefCountedPointer;\n });\n clonedPointers.push(newPointer);\n\n const totalItemCleanupPair: ItemCleanupPair<\n ReadonlyArray<\n ItemCleanupPair<\n ReferenceCountedPointer<\n ArrayFragmentReference<TReadFromStore, TItem>\n >\n >\n >\n > = [\n clonedPointers,\n () => {\n clonedPointers.forEach(([, dispose]) => {\n dispose();\n });\n },\n ];\n\n setState(totalItemCleanupPair);\n };\n\n const [, rerender] = useState({});\n\n const loadedReferences = state === UNASSIGNED_STATE ? [] : state;\n\n const mostRecentItem:\n | LoadedFragmentReference<TReadFromStore, TItem>\n | undefined = loadedReferences[loadedReferences.length - 1];\n const mostRecentFragmentReference =\n mostRecentItem?.[0].getItemIfNotDisposed();\n\n if (mostRecentItem != null && mostRecentFragmentReference == null) {\n throw new Error(\n 'FragmentReference is unexpectedly disposed. \\\n This is indicative of a bug in Isograph.',\n );\n }\n\n const networkRequestStatus =\n mostRecentFragmentReference != null\n ? {\n mostRecentFragmentReference,\n state: getPromiseState(mostRecentFragmentReference.networkRequest),\n }\n : null;\n\n const slicedFragmentReferences =\n networkRequestStatus?.state?.kind === 'Ok'\n ? loadedReferences\n : loadedReferences.slice(0, loadedReferences.length - 1);\n\n const completedFragmentReferences = slicedFragmentReferences.map(\n ([pointer]) => {\n const fragmentReference = pointer.getItemIfNotDisposed();\n if (fragmentReference == null) {\n throw new Error(\n 'FragmentReference is unexpectedly disposed. \\\n This is indicative of a bug in Isograph.',\n );\n }\n return fragmentReference;\n },\n );\n\n const readOutDataAndRecords = completedFragmentReferences.map(\n (fragmentReference) =>\n readButDoNotEvaluate(\n environment,\n fragmentReference,\n networkRequestOptions,\n ),\n );\n\n useSubscribeToMultiple<TReadFromStore>(\n subscribeCompletedFragmentReferences(completedFragmentReferences),\n );\n\n if (networkRequestStatus == null) {\n return {\n kind: 'Complete',\n fetchMore: getFetchMore(initialState?.skip ?? 0),\n results: [],\n };\n }\n\n switch (networkRequestStatus.state.kind) {\n case 'Pending': {\n const unsubscribe = subscribeToAnyChange(environment, () => {\n unsubscribe();\n rerender({});\n });\n\n return {\n kind: 'Pending',\n pendingFragment: networkRequestStatus.mostRecentFragmentReference,\n results: readCompletedFragmentReferences(completedFragmentReferences),\n };\n }\n case 'Err': {\n throw networkRequestStatus.state.error;\n }\n case 'Ok': {\n const results = readCompletedFragmentReferences(\n completedFragmentReferences,\n );\n return {\n kind: 'Complete',\n results,\n fetchMore: getFetchMore(results.length),\n };\n }\n }\n}\n\n// @ts-ignore\nfunction tsTests() {\n type Parameters = {\n readonly search: string;\n readonly skip: number;\n readonly limit: number;\n };\n\n let basicLoadable!: LoadableField<\n {\n readonly data: object;\n readonly parameters: Omit<Parameters, 'search'>;\n },\n object[]\n >;\n\n useSkipLimitPagination(basicLoadable);\n useSkipLimitPagination(basicLoadable, {});\n useSkipLimitPagination(basicLoadable, { skip: 10 });\n\n let unprovidedSearchLoadable!: LoadableField<\n {\n readonly data: object;\n readonly parameters: Parameters;\n },\n object[]\n >;\n // @ts-expect-error\n useSkipLimitPagination(unprovidedSearchLoadable);\n\n let providedSearchLoadable!: LoadableField<\n {\n readonly data: object;\n readonly parameters: Parameters;\n },\n object[],\n Omit<Parameters, 'search'>\n >;\n\n useSkipLimitPagination(providedSearchLoadable);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useSkipLimitPagination.mjs","names":[],"sources":["../../src/loadable-hooks/useSkipLimitPagination.ts"],"sourcesContent":["import type { ItemCleanupPair } from '@isograph/disposable-types';\nimport {\n UNASSIGNED_STATE,\n useUpdatableDisposableState,\n} from '@isograph/react-disposable-state';\nimport type { ReferenceCountedPointer } from '@isograph/reference-counted-pointer';\nimport { createReferenceCountedPointer } from '@isograph/reference-counted-pointer';\nimport { useState } from 'react';\nimport { subscribeToAnyChange } from '../core/cache';\nimport type { FetchOptions } from '../core/check';\nimport type {\n FragmentReference,\n UnknownTReadFromStore,\n} from '../core/FragmentReference';\nimport { getPromiseState, readPromise } from '../core/PromiseWrapper';\nimport {\n readButDoNotEvaluate,\n type WithEncounteredRecords,\n} from '../core/read';\nimport type { LoadableField, ReaderAst } from '../core/reader';\nimport { getOrCreateCachedStartUpdate } from '../core/startUpdate';\nimport { useIsographEnvironment } from '../react/IsographEnvironmentProvider';\nimport { maybeUnwrapNetworkRequest } from '../react/maybeUnwrapNetworkRequest';\nimport { useSubscribeToMultiple } from '../react/useReadAndSubscribe';\n\nexport type UseSkipLimitReturnValue<\n TReadFromStore extends UnknownTReadFromStore,\n TItem,\n> =\n | {\n readonly kind: 'Complete';\n readonly fetchMore: (\n count: number,\n fetchOptions?: FetchOptions<ReadonlyArray<TItem>, never>,\n ) => void;\n readonly results: ReadonlyArray<TItem>;\n }\n | {\n readonly kind: 'Pending';\n readonly results: ReadonlyArray<TItem>;\n readonly pendingFragment: FragmentReference<\n TReadFromStore,\n ReadonlyArray<TItem>\n >;\n };\n\ntype ArrayFragmentReference<\n TReadFromStore extends UnknownTReadFromStore,\n TItem,\n> = FragmentReference<TReadFromStore, ReadonlyArray<TItem>>;\n\ntype LoadedFragmentReferences<\n TReadFromStore extends { parameters: object; data: object },\n TItem,\n> = ReadonlyArray<LoadedFragmentReference<TReadFromStore, TItem>>;\n\ntype LoadedFragmentReference<\n TReadFromStore extends { parameters: object; data: object },\n TItem,\n> = ItemCleanupPair<\n ReferenceCountedPointer<ArrayFragmentReference<TReadFromStore, TItem>>\n>;\n\nfunction flatten<T>(arr: ReadonlyArray<ReadonlyArray<T>>): ReadonlyArray<T> {\n let outArray: Array<T> = [];\n for (const subarr of arr) {\n for (const item of subarr) {\n outArray.push(item);\n }\n }\n return outArray;\n}\n\nexport type UseSkipLimitPaginationArgs = {\n skip: number;\n limit: number;\n};\n\nexport function useSkipLimitPagination<\n TItem,\n TReadFromStore extends UnknownTReadFromStore,\n>(\n loadableField: LoadableField<\n TReadFromStore,\n ReadonlyArray<TItem>,\n UseSkipLimitPaginationArgs\n >,\n initialState?: {\n skip?: number | void | null;\n },\n): UseSkipLimitReturnValue<TReadFromStore, TItem> {\n const networkRequestOptions = {\n suspendIfInFlight: true,\n throwOnNetworkError: true,\n };\n const { state, setState } =\n useUpdatableDisposableState<\n LoadedFragmentReferences<TReadFromStore, TItem>\n >();\n\n const environment = useIsographEnvironment();\n\n // TODO move this out of useSkipLimitPagination, and pass environment and networkRequestOptions\n // as parameters (or recreate networkRequestOptions)\n function readCompletedFragmentReferences(\n completedReferences: ArrayFragmentReference<TReadFromStore, TItem>[],\n ) {\n const results = completedReferences.map((fragmentReference, i) => {\n const readerWithRefetchQueries = readPromise(\n fragmentReference.readerWithRefetchQueries,\n );\n\n // invariant: readOutDataAndRecords.length === completedReferences.length\n const data = readOutDataAndRecords[i]?.item;\n if (data == null) {\n throw new Error(\n 'Parameter data is unexpectedly null. This is indicative of a bug in Isograph.',\n );\n }\n\n const firstParameter = {\n data,\n parameters: fragmentReference.variables,\n ...(readerWithRefetchQueries.readerArtifact.hasUpdatable\n ? {\n startUpdate: getOrCreateCachedStartUpdate(\n environment,\n fragmentReference,\n networkRequestOptions,\n ),\n }\n : undefined),\n };\n\n if (\n readerWithRefetchQueries.readerArtifact.kind !== 'EagerReaderArtifact'\n ) {\n throw new Error(\n `@loadable field of kind \"${readerWithRefetchQueries.readerArtifact.kind}\" is not supported by useSkipLimitPagination`,\n );\n }\n\n return readerWithRefetchQueries.readerArtifact.resolver(firstParameter);\n });\n\n const items = flatten(results);\n return items;\n }\n\n function subscribeCompletedFragmentReferences(\n completedReferences: ArrayFragmentReference<TReadFromStore, TItem>[],\n ) {\n return completedReferences.map(\n (\n fragmentReference,\n i,\n ): {\n records: WithEncounteredRecords<TReadFromStore>;\n callback: (\n updatedRecords: WithEncounteredRecords<TReadFromStore>,\n ) => void;\n fragmentReference: ArrayFragmentReference<TReadFromStore, TItem>;\n readerAst: ReaderAst<TItem>;\n } => {\n maybeUnwrapNetworkRequest(\n fragmentReference.networkRequest,\n networkRequestOptions,\n );\n\n const readerWithRefetchQueries = readPromise(\n fragmentReference.readerWithRefetchQueries,\n );\n\n const records = readOutDataAndRecords[i];\n if (records == null) {\n throw new Error(\n 'subscribeCompletedFragmentReferences records is unexpectedly null',\n );\n }\n\n return {\n fragmentReference,\n readerAst: readerWithRefetchQueries.readerArtifact.readerAst,\n records,\n callback(_data) {\n rerender({});\n },\n };\n },\n );\n }\n\n const getFetchMore =\n (loadedSoFar: number) =>\n (\n count: number,\n fetchOptions?: FetchOptions<ReadonlyArray<TItem>, never>,\n ): void => {\n const loadedField = loadableField(\n {\n skip: loadedSoFar,\n limit: count,\n },\n fetchOptions ?? {},\n )[1]();\n const newPointer = createReferenceCountedPointer(loadedField);\n const clonedPointers = loadedReferences.map(([refCountedPointer]) => {\n const clonedRefCountedPointer = refCountedPointer.cloneIfNotDisposed();\n if (clonedRefCountedPointer == null) {\n throw new Error(\n 'This reference counted pointer has already been disposed. \\\n This is indicative of a bug in useSkipLimitPagination.',\n );\n }\n return clonedRefCountedPointer;\n });\n clonedPointers.push(newPointer);\n\n const totalItemCleanupPair: ItemCleanupPair<\n ReadonlyArray<\n ItemCleanupPair<\n ReferenceCountedPointer<\n ArrayFragmentReference<TReadFromStore, TItem>\n >\n >\n >\n > = [\n clonedPointers,\n () => {\n clonedPointers.forEach(([, dispose]) => {\n dispose();\n });\n },\n ];\n\n setState(totalItemCleanupPair);\n };\n\n const [, rerender] = useState({});\n\n const loadedReferences = state === UNASSIGNED_STATE ? [] : state;\n\n const mostRecentItem:\n | LoadedFragmentReference<TReadFromStore, TItem>\n | undefined = loadedReferences[loadedReferences.length - 1];\n const mostRecentFragmentReference =\n mostRecentItem?.[0].getItemIfNotDisposed();\n\n if (mostRecentItem != null && mostRecentFragmentReference == null) {\n throw new Error(\n 'FragmentReference is unexpectedly disposed. \\\n This is indicative of a bug in Isograph.',\n );\n }\n\n const networkRequestStatus =\n mostRecentFragmentReference != null\n ? {\n mostRecentFragmentReference,\n state: getPromiseState(mostRecentFragmentReference.networkRequest),\n }\n : null;\n\n const slicedFragmentReferences =\n networkRequestStatus?.state?.kind === 'Ok'\n ? loadedReferences\n : loadedReferences.slice(0, loadedReferences.length - 1);\n\n const completedFragmentReferences = slicedFragmentReferences.map(\n ([pointer]) => {\n const fragmentReference = pointer.getItemIfNotDisposed();\n if (fragmentReference == null) {\n throw new Error(\n 'FragmentReference is unexpectedly disposed. \\\n This is indicative of a bug in Isograph.',\n );\n }\n return fragmentReference;\n },\n );\n\n const readOutDataAndRecords = completedFragmentReferences.map(\n (fragmentReference) =>\n readButDoNotEvaluate(\n environment,\n fragmentReference,\n networkRequestOptions,\n ),\n );\n\n useSubscribeToMultiple<TReadFromStore>(\n subscribeCompletedFragmentReferences(completedFragmentReferences),\n );\n\n if (networkRequestStatus == null) {\n return {\n kind: 'Complete',\n fetchMore: getFetchMore(initialState?.skip ?? 0),\n results: [],\n };\n }\n\n switch (networkRequestStatus.state.kind) {\n case 'Pending': {\n const unsubscribe = subscribeToAnyChange(environment, () => {\n unsubscribe();\n rerender({});\n });\n\n return {\n kind: 'Pending',\n pendingFragment: networkRequestStatus.mostRecentFragmentReference,\n results: readCompletedFragmentReferences(completedFragmentReferences),\n };\n }\n case 'Err': {\n throw networkRequestStatus.state.error;\n }\n case 'Ok': {\n const results = readCompletedFragmentReferences(\n completedFragmentReferences,\n );\n return {\n kind: 'Complete',\n results,\n fetchMore: getFetchMore(results.length),\n };\n }\n }\n}\n\n// @ts-ignore\nfunction tsTests() {\n type Parameters = {\n readonly search: string;\n readonly skip: number;\n readonly limit: number;\n };\n\n let basicLoadable!: LoadableField<\n {\n readonly data: object;\n readonly parameters: Omit<Parameters, 'search'>;\n },\n object[]\n >;\n\n useSkipLimitPagination(basicLoadable);\n useSkipLimitPagination(basicLoadable, {});\n useSkipLimitPagination(basicLoadable, { skip: 10 });\n\n let unprovidedSearchLoadable!: LoadableField<\n {\n readonly data: object;\n readonly parameters: Parameters;\n },\n object[]\n >;\n // @ts-expect-error\n useSkipLimitPagination(unprovidedSearchLoadable);\n\n let providedSearchLoadable!: LoadableField<\n {\n readonly data: object;\n readonly parameters: Parameters;\n },\n object[],\n Omit<Parameters, 'search'>\n >;\n\n useSkipLimitPagination(providedSearchLoadable);\n}\n"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { NetworkRequestReaderOptions } from "../core/read.
|
|
2
|
-
import { FragmentReference } from "../core/FragmentReference.
|
|
3
|
-
import { NetworkResponseObject } from "../core/cache.
|
|
4
|
-
import { ExtractReadFromStore, IsographEntrypoint } from "../core/entrypoint.
|
|
1
|
+
import { NetworkRequestReaderOptions } from "../core/read.cjs";
|
|
2
|
+
import { FragmentReference } from "../core/FragmentReference.cjs";
|
|
3
|
+
import { NetworkResponseObject } from "../core/cache.cjs";
|
|
4
|
+
import { ExtractReadFromStore, IsographEntrypoint } from "../core/entrypoint.cjs";
|
|
5
5
|
|
|
6
6
|
//#region src/react/FragmentReader.d.ts
|
|
7
7
|
declare function FragmentReader<TResult, TRawResponseType extends NetworkResponseObject, TEntrypoint extends IsographEntrypoint<any, TResult, any, TRawResponseType>, TChildrenResult>({
|
|
@@ -15,4 +15,4 @@ declare function FragmentReader<TResult, TRawResponseType extends NetworkRespons
|
|
|
15
15
|
}): TChildrenResult;
|
|
16
16
|
//#endregion
|
|
17
17
|
export { FragmentReader };
|
|
18
|
-
//# sourceMappingURL=FragmentReader.d.
|
|
18
|
+
//# sourceMappingURL=FragmentReader.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FragmentReader.d.cts","names":[],"sources":["../../src/react/FragmentReader.tsx"],"mappings":";;;;;;iBASgB,cAAA,mCAEW,qBAAA,sBACL,kBAAA,MAAwB,OAAA,OAAc,gBAAA,mBAAA,CAAA;EAG1D,iBAAA;EACA,qBAAA;EACA;AAAA;EAEA,iBAAA,EAAmB,iBAAA,CACjB,oBAAA,CAAqB,WAAA,GACrB,OAAA;EAEF,qBAAA,GAAwB,OAAA,CAAQ,2BAAA;EAChC,QAAA,GAAW,IAAA,EAAM,OAAA,KAAY,eAAA;AAAA,IAC3B,eAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FragmentReader.d.mts","names":[],"sources":["../../src/react/FragmentReader.tsx"],"
|
|
1
|
+
{"version":3,"file":"FragmentReader.d.mts","names":[],"sources":["../../src/react/FragmentReader.tsx"],"mappings":";;;;;;iBASgB,cAAA,mCAEW,qBAAA,sBACL,kBAAA,MAAwB,OAAA,OAAc,gBAAA,mBAAA,CAAA;EAG1D,iBAAA;EACA,qBAAA;EACA;AAAA;EAEA,iBAAA,EAAmB,iBAAA,CACjB,oBAAA,CAAqB,WAAA,GACrB,OAAA;EAEF,qBAAA,GAAwB,OAAA,CAAQ,2BAAA;EAChC,QAAA,GAAW,IAAA,EAAM,OAAA,KAAY,eAAA;AAAA,IAC3B,eAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.
|
|
2
|
-
const require_useResult = require('./useResult.
|
|
1
|
+
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_useResult = require('./useResult.cjs');
|
|
3
3
|
let react = require("react");
|
|
4
4
|
react = require_rolldown_runtime.__toESM(react);
|
|
5
5
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { NetworkRequestReaderOptions } from "../core/read.
|
|
2
|
-
import { FragmentReference } from "../core/FragmentReference.
|
|
3
|
-
import { NetworkResponseObject } from "../core/cache.
|
|
4
|
-
import { ExtractReadFromStore, IsographEntrypoint } from "../core/entrypoint.
|
|
1
|
+
import { NetworkRequestReaderOptions } from "../core/read.cjs";
|
|
2
|
+
import { FragmentReference } from "../core/FragmentReference.cjs";
|
|
3
|
+
import { NetworkResponseObject } from "../core/cache.cjs";
|
|
4
|
+
import { ExtractReadFromStore, IsographEntrypoint } from "../core/entrypoint.cjs";
|
|
5
5
|
import * as React$1 from "react";
|
|
6
6
|
|
|
7
7
|
//#region src/react/FragmentRenderer.d.ts
|
|
@@ -17,4 +17,4 @@ declare function FragmentRenderer<TProps extends Record<any, any>, TRawResponseT
|
|
|
17
17
|
}): React$1.ReactNode;
|
|
18
18
|
//#endregion
|
|
19
19
|
export { FragmentRenderer, IsExactlyIntrinsicAttributes };
|
|
20
|
-
//# sourceMappingURL=FragmentRenderer.d.
|
|
20
|
+
//# sourceMappingURL=FragmentRenderer.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FragmentRenderer.d.cts","names":[],"sources":["../../src/react/FragmentRenderer.tsx"],"mappings":";;;;;;;KAUY,4BAAA,MAAkC,CAAA,SAAU,GAAA,CAAI,mBAAA,GACxD,GAAA,CAAI,mBAAA,SAA4B,CAAA;AAAA,iBAKpB,gBAAA,gBACC,MAAA,qCACU,qBAAA,sBACL,kBAAA,MAElB,OAAA,CAAM,EAAA,CAAG,MAAA,QAET,gBAAA,EAAA,CAGF,KAAA,EAAO,4BAAA,CAA6B,MAAA;EAE9B,iBAAA,EAAmB,iBAAA,CACjB,oBAAA,CAAqB,WAAA,GACrB,OAAA,CAAM,EAAA,CAAG,MAAA;EAEX,eAAA,GAAkB,MAAA,CAAO,WAAA;EACzB,qBAAA,GAAwB,OAAA,CAAQ,2BAAA;AAAA;EAGhC,iBAAA,EAAmB,iBAAA,CACjB,oBAAA,CAAqB,WAAA,GACrB,OAAA,CAAM,EAAA,CAAG,MAAA;EAEX,eAAA,EAAiB,IAAA,CAAK,MAAA,QAAc,GAAA,CAAI,mBAAA;EACxC,qBAAA,GAAwB,OAAA,CAAQ,2BAAA;AAAA,IAErC,OAAA,CAAM,SAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FragmentRenderer.d.mts","names":[],"sources":["../../src/react/FragmentRenderer.tsx"],"
|
|
1
|
+
{"version":3,"file":"FragmentRenderer.d.mts","names":[],"sources":["../../src/react/FragmentRenderer.tsx"],"mappings":";;;;;;;KAUY,4BAAA,MAAkC,CAAA,SAAU,GAAA,CAAI,mBAAA,GACxD,GAAA,CAAI,mBAAA,SAA4B,CAAA;AAAA,iBAKpB,gBAAA,gBACC,MAAA,qCACU,qBAAA,sBACL,kBAAA,MAElB,OAAA,CAAM,EAAA,CAAG,MAAA,QAET,gBAAA,EAAA,CAGF,KAAA,EAAO,4BAAA,CAA6B,MAAA;EAE9B,iBAAA,EAAmB,iBAAA,CACjB,oBAAA,CAAqB,WAAA,GACrB,OAAA,CAAM,EAAA,CAAG,MAAA;EAEX,eAAA,GAAkB,MAAA,CAAO,WAAA;EACzB,qBAAA,GAAwB,OAAA,CAAQ,2BAAA;AAAA;EAGhC,iBAAA,EAAmB,iBAAA,CACjB,oBAAA,CAAqB,WAAA,GACrB,OAAA,CAAM,EAAA,CAAG,MAAA;EAEX,eAAA,EAAiB,IAAA,CAAK,MAAA,QAAc,GAAA,CAAI,mBAAA;EACxC,qBAAA,GAAwB,OAAA,CAAQ,2BAAA;AAAA,IAErC,OAAA,CAAM,SAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IsographEnvironment } from "../core/IsographEnvironment.
|
|
1
|
+
import { IsographEnvironment } from "../core/IsographEnvironment.cjs";
|
|
2
2
|
import * as React$1 from "react";
|
|
3
3
|
import { ReactNode } from "react";
|
|
4
4
|
|
|
@@ -14,4 +14,4 @@ declare function IsographEnvironmentProvider({
|
|
|
14
14
|
declare function useIsographEnvironment(): IsographEnvironment;
|
|
15
15
|
//#endregion
|
|
16
16
|
export { IsographEnvironmentProvider, IsographEnvironmentProviderProps, useIsographEnvironment };
|
|
17
|
-
//# sourceMappingURL=IsographEnvironmentProvider.d.
|
|
17
|
+
//# sourceMappingURL=IsographEnvironmentProvider.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IsographEnvironmentProvider.d.cts","names":[],"sources":["../../src/react/IsographEnvironmentProvider.tsx"],"mappings":";;;;;KAQY,gCAAA;EAAA,SACD,WAAA,EAAa,mBAAA;EAAA,SACb,QAAA,EAAU,SAAA;AAAA;AAAA,iBAGL,2BAAA,CAAA;EACd,WAAA;EACA;AAAA,GACC,gCAAA,GAAmC,OAAA,CAAM,YAAA;AAAA,iBAQ5B,sBAAA,CAAA,GAA0B,mBAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IsographEnvironmentProvider.d.mts","names":[],"sources":["../../src/react/IsographEnvironmentProvider.tsx"],"
|
|
1
|
+
{"version":3,"file":"IsographEnvironmentProvider.d.mts","names":[],"sources":["../../src/react/IsographEnvironmentProvider.tsx"],"mappings":";;;;;KAQY,gCAAA;EAAA,SACD,WAAA,EAAa,mBAAA;EAAA,SACb,QAAA,EAAU,SAAA;AAAA;AAAA,iBAGL,2BAAA,CAAA;EACd,WAAA;EACA;AAAA,GACC,gCAAA,GAAmC,OAAA,CAAM,YAAA;AAAA,iBAQ5B,sBAAA,CAAA,GAA0B,mBAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.
|
|
2
|
-
const require_useResult = require('./useResult.
|
|
3
|
-
const require_useClientSideDefer = require('../loadable-hooks/useClientSideDefer.
|
|
1
|
+
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_useResult = require('./useResult.cjs');
|
|
3
|
+
const require_useClientSideDefer = require('../loadable-hooks/useClientSideDefer.cjs');
|
|
4
4
|
let react = require("react");
|
|
5
5
|
react = require_rolldown_runtime.__toESM(react);
|
|
6
6
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { FetchOptions } from "../core/check.
|
|
2
|
-
import { LoadableField } from "../core/reader.
|
|
3
|
-
import { NetworkRequestReaderOptions } from "../core/read.
|
|
4
|
-
import { ExtractParameters, UnknownTReadFromStore } from "../core/FragmentReference.
|
|
1
|
+
import { FetchOptions } from "../core/check.cjs";
|
|
2
|
+
import { LoadableField } from "../core/reader.cjs";
|
|
3
|
+
import { NetworkRequestReaderOptions } from "../core/read.cjs";
|
|
4
|
+
import { ExtractParameters, UnknownTReadFromStore } from "../core/FragmentReference.cjs";
|
|
5
5
|
|
|
6
6
|
//#region src/react/LoadableFieldReader.d.ts
|
|
7
7
|
type ArgsWithoutProvidedArgs<TReadFromStore extends UnknownTReadFromStore, TProvidedArgs extends object> = Omit<ExtractParameters<TReadFromStore>, keyof TProvidedArgs>;
|
|
@@ -18,4 +18,4 @@ declare function LoadableFieldReader<TReadFromStore extends UnknownTReadFromStor
|
|
|
18
18
|
} & MaybeRequiredArgs<TReadFromStore, TProvidedArgs>): TChildrenResult;
|
|
19
19
|
//#endregion
|
|
20
20
|
export { LoadableFieldReader };
|
|
21
|
-
//# sourceMappingURL=LoadableFieldReader.d.
|
|
21
|
+
//# sourceMappingURL=LoadableFieldReader.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LoadableFieldReader.d.cts","names":[],"sources":["../../src/react/LoadableFieldReader.tsx"],"mappings":";;;;;;KASK,uBAAA,wBACoB,qBAAA,kCAErB,IAAA,CAAK,iBAAA,CAAkB,cAAA,SAAuB,aAAA;AAAA,KAE7C,iBAAA,wBACoB,qBAAA,6CAGZ,uBAAA,CAAwB,cAAA,EAAgB,aAAA;EAE7C,IAAA,GAAO,uBAAA,CAAwB,cAAA,EAAgB,aAAA;AAAA;EAG/C,IAAA,EAAM,uBAAA,CAAwB,cAAA,EAAgB,aAAA;AAAA;AAAA,iBAGtC,mBAAA,wBACS,qBAAA,yDAAA,CAKvB,KAAA;EACE,aAAA,EAAe,aAAA,CACb,cAAA,EACA,OAAA,EACA,IAAA,CAAK,iBAAA,CAAkB,cAAA,SAAuB,aAAA;EAEhD,YAAA,GAAe,YAAA,CAAa,OAAA;EAC5B,qBAAA,GAAwB,OAAA,CAAQ,2BAAA;EAChC,QAAA,GAAW,GAAA,EAAK,OAAA,KAAY,eAAA;AAAA,IAC1B,iBAAA,CAAkB,cAAA,EAAgB,aAAA,IACrC,eAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoadableFieldReader.d.mts","names":[],"sources":["../../src/react/LoadableFieldReader.tsx"],"
|
|
1
|
+
{"version":3,"file":"LoadableFieldReader.d.mts","names":[],"sources":["../../src/react/LoadableFieldReader.tsx"],"mappings":";;;;;;KASK,uBAAA,wBACoB,qBAAA,kCAErB,IAAA,CAAK,iBAAA,CAAkB,cAAA,SAAuB,aAAA;AAAA,KAE7C,iBAAA,wBACoB,qBAAA,6CAGZ,uBAAA,CAAwB,cAAA,EAAgB,aAAA;EAE7C,IAAA,GAAO,uBAAA,CAAwB,cAAA,EAAgB,aAAA;AAAA;EAG/C,IAAA,EAAM,uBAAA,CAAwB,cAAA,EAAgB,aAAA;AAAA;AAAA,iBAGtC,mBAAA,wBACS,qBAAA,yDAAA,CAKvB,KAAA;EACE,aAAA,EAAe,aAAA,CACb,cAAA,EACA,OAAA,EACA,IAAA,CAAK,iBAAA,CAAkB,cAAA,SAAuB,aAAA;EAEhD,YAAA,GAAe,YAAA,CAAa,OAAA;EAC5B,qBAAA,GAAwB,OAAA,CAAQ,2BAAA;EAChC,QAAA,GAAW,GAAA,EAAK,OAAA,KAAY,eAAA;AAAA,IAC1B,iBAAA,CAAkB,cAAA,EAAgB,aAAA,IACrC,eAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.
|
|
2
|
-
const require_useResult = require('./useResult.
|
|
3
|
-
const require_useClientSideDefer = require('../loadable-hooks/useClientSideDefer.
|
|
1
|
+
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_useResult = require('./useResult.cjs');
|
|
3
|
+
const require_useClientSideDefer = require('../loadable-hooks/useClientSideDefer.cjs');
|
|
4
4
|
let react = require("react");
|
|
5
5
|
react = require_rolldown_runtime.__toESM(react);
|
|
6
6
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { FetchOptions } from "../core/check.
|
|
2
|
-
import { LoadableField } from "../core/reader.
|
|
3
|
-
import { NetworkRequestReaderOptions } from "../core/read.
|
|
4
|
-
import { ExtractParameters, UnknownTReadFromStore } from "../core/FragmentReference.
|
|
1
|
+
import { FetchOptions } from "../core/check.cjs";
|
|
2
|
+
import { LoadableField } from "../core/reader.cjs";
|
|
3
|
+
import { NetworkRequestReaderOptions } from "../core/read.cjs";
|
|
4
|
+
import { ExtractParameters, UnknownTReadFromStore } from "../core/FragmentReference.cjs";
|
|
5
5
|
import * as React$1 from "react";
|
|
6
6
|
|
|
7
7
|
//#region src/react/LoadableFieldRenderer.d.ts
|
|
@@ -19,4 +19,4 @@ declare function LoadableFieldRenderer<TReadFromStore extends UnknownTReadFromSt
|
|
|
19
19
|
} & MaybeRequiredArgs<TReadFromStore, TProvidedArgs>): TChildrenResult;
|
|
20
20
|
//#endregion
|
|
21
21
|
export { LoadableFieldRenderer };
|
|
22
|
-
//# sourceMappingURL=LoadableFieldRenderer.d.
|
|
22
|
+
//# sourceMappingURL=LoadableFieldRenderer.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LoadableFieldRenderer.d.cts","names":[],"sources":["../../src/react/LoadableFieldRenderer.tsx"],"mappings":";;;;;;;KASK,uBAAA,wBACoB,qBAAA,kCAErB,IAAA,CAAK,iBAAA,CAAkB,cAAA,SAAuB,aAAA;AAAA,KAE7C,iBAAA,wBACoB,qBAAA,6CAGZ,uBAAA,CAAwB,cAAA,EAAgB,aAAA;EAE7C,IAAA,GAAO,uBAAA,CAAwB,cAAA,EAAgB,aAAA;AAAA;EAG/C,IAAA,EAAM,uBAAA,CAAwB,cAAA,EAAgB,aAAA;AAAA;AAAA,iBAGtC,qBAAA,wBACS,qBAAA,wDAAA,CAKvB,KAAA;EACE,aAAA,EAAe,aAAA,CACb,cAAA,EACA,OAAA,CAAM,EAAA,CAAG,MAAA,GACT,IAAA,CAAK,iBAAA,CAAkB,cAAA,SAAuB,aAAA;EAEhD,YAAA,GAAe,YAAA,CAAa,OAAA,CAAM,EAAA,CAAG,MAAA;EACrC,qBAAA,GAAwB,OAAA,CAAQ,2BAAA;EAChC,eAAA,EAAiB,IAAA,CAAK,MAAA,QAAc,GAAA,CAAI,mBAAA;AAAA,IACtC,iBAAA,CAAkB,cAAA,EAAgB,aAAA,IACrC,eAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoadableFieldRenderer.d.mts","names":[],"sources":["../../src/react/LoadableFieldRenderer.tsx"],"
|
|
1
|
+
{"version":3,"file":"LoadableFieldRenderer.d.mts","names":[],"sources":["../../src/react/LoadableFieldRenderer.tsx"],"mappings":";;;;;;;KASK,uBAAA,wBACoB,qBAAA,kCAErB,IAAA,CAAK,iBAAA,CAAkB,cAAA,SAAuB,aAAA;AAAA,KAE7C,iBAAA,wBACoB,qBAAA,6CAGZ,uBAAA,CAAwB,cAAA,EAAgB,aAAA;EAE7C,IAAA,GAAO,uBAAA,CAAwB,cAAA,EAAgB,aAAA;AAAA;EAG/C,IAAA,EAAM,uBAAA,CAAwB,cAAA,EAAgB,aAAA;AAAA;AAAA,iBAGtC,qBAAA,wBACS,qBAAA,wDAAA,CAKvB,KAAA;EACE,aAAA,EAAe,aAAA,CACb,cAAA,EACA,OAAA,CAAM,EAAA,CAAG,MAAA,GACT,IAAA,CAAK,iBAAA,CAAkB,cAAA,SAAuB,aAAA;EAEhD,YAAA,GAAe,YAAA,CAAa,OAAA,CAAM,EAAA,CAAG,MAAA;EACrC,qBAAA,GAAwB,OAAA,CAAQ,2BAAA;EAChC,eAAA,EAAiB,IAAA,CAAK,MAAA,QAAc,GAAA,CAAI,mBAAA;AAAA,IACtC,iBAAA,CAAkB,cAAA,EAAgB,aAAA,IACrC,eAAA"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.
|
|
1
|
+
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
|
|
2
2
|
let react = require("react");
|
|
3
|
-
react = require_rolldown_runtime.__toESM(react);
|
|
4
3
|
|
|
5
4
|
//#region src/react/RenderAfterCommit__DO_NOT_USE.tsx
|
|
6
5
|
/**
|
package/dist/react/{RenderAfterCommit__DO_NOT_USE.d.ts → RenderAfterCommit__DO_NOT_USE.d.cts}
RENAMED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import * as react0 from "react";
|
|
2
2
|
|
|
3
3
|
//#region src/react/RenderAfterCommit__DO_NOT_USE.d.ts
|
|
4
|
-
|
|
5
4
|
/**
|
|
6
5
|
* This is a function that will render a component only after it commits.
|
|
7
6
|
* It should not be used in production. It's useful as a way to debug issues
|
|
@@ -15,4 +14,4 @@ declare function RenderAfterCommit__DO_NOT_USE({
|
|
|
15
14
|
}): react0.ReactNode;
|
|
16
15
|
//#endregion
|
|
17
16
|
export { RenderAfterCommit__DO_NOT_USE };
|
|
18
|
-
//# sourceMappingURL=RenderAfterCommit__DO_NOT_USE.d.
|
|
17
|
+
//# sourceMappingURL=RenderAfterCommit__DO_NOT_USE.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RenderAfterCommit__DO_NOT_USE.d.cts","names":[],"sources":["../../src/react/RenderAfterCommit__DO_NOT_USE.tsx"],"mappings":";;;;;;AAQA;;;iBAAgB,6BAAA,CAAA;EACd;AAAA;EAEA,QAAA,EAAU,KAAA,CAAM,SAAA;AAAA,IAAS,MAAA,CAC1B,SAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderAfterCommit__DO_NOT_USE.d.mts","names":[],"sources":["../../src/react/RenderAfterCommit__DO_NOT_USE.tsx"],"
|
|
1
|
+
{"version":3,"file":"RenderAfterCommit__DO_NOT_USE.d.mts","names":[],"sources":["../../src/react/RenderAfterCommit__DO_NOT_USE.tsx"],"mappings":";;;;;;AAQA;;;iBAAgB,6BAAA,CAAA;EACd;AAAA;EAEA,QAAA,EAAU,KAAA,CAAM,SAAA;AAAA,IAAS,MAAA,CAC1B,SAAA"}
|