@isograph/react 0.0.0-main-3de26263 → 0.0.0-main-709dc2bb
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-compile-libs.log +9 -2
- package/dist/_virtual/rolldown_runtime.js +25 -0
- package/dist/core/FragmentReference.d.mts +38 -0
- package/dist/core/FragmentReference.d.mts.map +1 -0
- package/dist/core/FragmentReference.d.ts +31 -29
- package/dist/core/FragmentReference.d.ts.map +1 -1
- package/dist/core/FragmentReference.js +7 -5
- package/dist/core/FragmentReference.mjs +10 -0
- package/dist/core/FragmentReference.mjs.map +1 -0
- package/dist/core/IsographEnvironment.d.mts +89 -0
- package/dist/core/IsographEnvironment.d.mts.map +1 -0
- package/dist/core/IsographEnvironment.d.ts +76 -81
- package/dist/core/IsographEnvironment.d.ts.map +1 -1
- package/dist/core/IsographEnvironment.js +59 -82
- package/dist/core/IsographEnvironment.mjs +67 -0
- package/dist/core/IsographEnvironment.mjs.map +1 -0
- package/dist/core/PromiseWrapper.d.mts +36 -0
- package/dist/core/PromiseWrapper.d.mts.map +1 -0
- package/dist/core/PromiseWrapper.d.ts +26 -23
- package/dist/core/PromiseWrapper.d.ts.map +1 -1
- package/dist/core/PromiseWrapper.js +45 -43
- package/dist/core/PromiseWrapper.mjs +49 -0
- package/dist/core/PromiseWrapper.mjs.map +1 -0
- package/dist/core/areEqualWithDeepComparison.js +56 -93
- package/dist/core/areEqualWithDeepComparison.mjs +62 -0
- package/dist/core/areEqualWithDeepComparison.mjs.map +1 -0
- package/dist/core/brand.d.mts +19 -0
- package/dist/core/brand.d.mts.map +1 -0
- package/dist/core/brand.d.ts +6 -6
- package/dist/core/brand.d.ts.map +1 -1
- package/dist/core/cache.d.mts +20 -0
- package/dist/core/cache.d.mts.map +1 -0
- package/dist/core/cache.d.ts +18 -24
- package/dist/core/cache.d.ts.map +1 -1
- package/dist/core/cache.js +203 -306
- package/dist/core/cache.mjs +237 -0
- package/dist/core/cache.mjs.map +1 -0
- package/dist/core/check.d.mts +28 -0
- package/dist/core/check.d.mts.map +1 -0
- package/dist/core/check.d.ts +21 -19
- package/dist/core/check.d.ts.map +1 -1
- package/dist/core/check.js +80 -122
- package/dist/core/check.mjs +84 -0
- package/dist/core/check.mjs.map +1 -0
- package/dist/core/componentCache.js +9 -10
- package/dist/core/componentCache.mjs +12 -0
- package/dist/core/componentCache.mjs.map +1 -0
- package/dist/core/entrypoint.d.mts +99 -0
- package/dist/core/entrypoint.d.mts.map +1 -0
- package/dist/core/entrypoint.d.ts +83 -80
- package/dist/core/entrypoint.d.ts.map +1 -1
- package/dist/core/entrypoint.js +6 -5
- package/dist/core/entrypoint.mjs +8 -0
- package/dist/core/entrypoint.mjs.map +1 -0
- package/dist/core/garbageCollection.d.mts +18 -0
- package/dist/core/garbageCollection.d.mts.map +1 -0
- package/dist/core/garbageCollection.d.ts +15 -16
- package/dist/core/garbageCollection.d.ts.map +1 -1
- package/dist/core/garbageCollection.js +76 -120
- package/dist/core/garbageCollection.mjs +89 -0
- package/dist/core/garbageCollection.mjs.map +1 -0
- package/dist/core/getOrCreateCacheForArtifact.js +35 -38
- package/dist/core/getOrCreateCacheForArtifact.mjs +38 -0
- package/dist/core/getOrCreateCacheForArtifact.mjs.map +1 -0
- package/dist/core/logging.d.mts +95 -0
- package/dist/core/logging.d.mts.map +1 -0
- package/dist/core/logging.d.ts +66 -61
- package/dist/core/logging.d.ts.map +1 -1
- package/dist/core/logging.js +17 -18
- package/dist/core/logging.mjs +20 -0
- package/dist/core/logging.mjs.map +1 -0
- package/dist/core/makeNetworkRequest.d.mts +13 -0
- package/dist/core/makeNetworkRequest.d.mts.map +1 -0
- package/dist/core/makeNetworkRequest.d.ts +12 -10
- package/dist/core/makeNetworkRequest.d.ts.map +1 -1
- package/dist/core/makeNetworkRequest.js +180 -260
- package/dist/core/makeNetworkRequest.mjs +195 -0
- package/dist/core/makeNetworkRequest.mjs.map +1 -0
- package/dist/core/optimisticProxy.d.mts +43 -0
- package/dist/core/optimisticProxy.d.mts.map +1 -0
- package/dist/core/optimisticProxy.d.ts +37 -53
- package/dist/core/optimisticProxy.d.ts.map +1 -1
- package/dist/core/optimisticProxy.js +245 -353
- package/dist/core/optimisticProxy.mjs +268 -0
- package/dist/core/optimisticProxy.mjs.map +1 -0
- package/dist/core/read.d.mts +29 -0
- package/dist/core/read.d.mts.map +1 -0
- package/dist/core/read.d.ts +23 -29
- package/dist/core/read.d.ts.map +1 -1
- package/dist/core/read.js +435 -634
- package/dist/core/read.mjs +456 -0
- package/dist/core/read.mjs.map +1 -0
- package/dist/core/reader.d.mts +89 -0
- package/dist/core/reader.d.mts.map +1 -0
- package/dist/core/reader.d.ts +78 -79
- package/dist/core/reader.d.ts.map +1 -1
- package/dist/core/startUpdate.js +115 -149
- package/dist/core/startUpdate.mjs +125 -0
- package/dist/core/startUpdate.mjs.map +1 -0
- package/dist/core/subscribe.d.mts +12 -0
- package/dist/core/subscribe.d.mts.map +1 -0
- package/dist/core/subscribe.d.ts +11 -7
- package/dist/core/subscribe.d.ts.map +1 -1
- package/dist/core/subscribe.js +67 -109
- package/dist/core/subscribe.mjs +79 -0
- package/dist/core/subscribe.mjs.map +1 -0
- package/dist/core/util.d.mts +27 -0
- package/dist/core/util.d.mts.map +1 -0
- package/dist/core/util.d.ts +21 -24
- package/dist/core/util.d.ts.map +1 -1
- package/dist/core/util.js +17 -23
- package/dist/core/util.mjs +21 -0
- package/dist/core/util.mjs.map +1 -0
- package/dist/core/writeData.d.mts +11 -0
- package/dist/core/writeData.d.mts.map +1 -0
- package/dist/core/writeData.d.ts +10 -6
- package/dist/core/writeData.d.ts.map +1 -1
- package/dist/core/writeData.js +39 -34
- package/dist/core/writeData.mjs +42 -0
- package/dist/core/writeData.mjs.map +1 -0
- package/dist/index.d.mts +32 -0
- package/dist/index.d.ts +32 -32
- package/dist/index.js +70 -72
- package/dist/index.mjs +31 -0
- package/dist/loadable-hooks/useClientSideDefer.d.mts +12 -0
- package/dist/loadable-hooks/useClientSideDefer.d.mts.map +1 -0
- package/dist/loadable-hooks/useClientSideDefer.d.ts +9 -13
- package/dist/loadable-hooks/useClientSideDefer.d.ts.map +1 -1
- package/dist/loadable-hooks/useClientSideDefer.js +13 -44
- package/dist/loadable-hooks/useClientSideDefer.mjs +14 -0
- package/dist/loadable-hooks/useClientSideDefer.mjs.map +1 -0
- package/dist/loadable-hooks/useConnectionSpecPagination.d.mts +33 -0
- package/dist/loadable-hooks/useConnectionSpecPagination.d.mts.map +1 -0
- package/dist/loadable-hooks/useConnectionSpecPagination.d.ts +26 -22
- package/dist/loadable-hooks/useConnectionSpecPagination.d.ts.map +1 -1
- package/dist/loadable-hooks/useConnectionSpecPagination.js +133 -176
- package/dist/loadable-hooks/useConnectionSpecPagination.mjs +134 -0
- package/dist/loadable-hooks/useConnectionSpecPagination.mjs.map +1 -0
- package/dist/loadable-hooks/useImperativeExposedMutationField.d.mts +8 -0
- package/dist/loadable-hooks/useImperativeExposedMutationField.d.mts.map +1 -0
- package/dist/loadable-hooks/useImperativeExposedMutationField.d.ts +6 -3
- package/dist/loadable-hooks/useImperativeExposedMutationField.d.ts.map +1 -1
- package/dist/loadable-hooks/useImperativeExposedMutationField.js +9 -12
- package/dist/loadable-hooks/useImperativeExposedMutationField.mjs +11 -0
- package/dist/loadable-hooks/useImperativeExposedMutationField.mjs.map +1 -0
- package/dist/loadable-hooks/useImperativeLoadableField.d.mts +19 -0
- package/dist/loadable-hooks/useImperativeLoadableField.d.mts.map +1 -0
- package/dist/loadable-hooks/useImperativeLoadableField.d.ts +15 -11
- package/dist/loadable-hooks/useImperativeLoadableField.d.ts.map +1 -1
- package/dist/loadable-hooks/useImperativeLoadableField.js +16 -12
- package/dist/loadable-hooks/useImperativeLoadableField.mjs +17 -0
- package/dist/loadable-hooks/useImperativeLoadableField.mjs.map +1 -0
- package/dist/loadable-hooks/useSkipLimitPagination.d.mts +24 -0
- package/dist/loadable-hooks/useSkipLimitPagination.d.mts.map +1 -0
- package/dist/loadable-hooks/useSkipLimitPagination.d.ts +19 -15
- package/dist/loadable-hooks/useSkipLimitPagination.d.ts.map +1 -1
- package/dist/loadable-hooks/useSkipLimitPagination.js +118 -164
- package/dist/loadable-hooks/useSkipLimitPagination.mjs +119 -0
- package/dist/loadable-hooks/useSkipLimitPagination.mjs.map +1 -0
- package/dist/react/FragmentReader.d.mts +18 -0
- package/dist/react/FragmentReader.d.mts.map +1 -0
- package/dist/react/FragmentReader.d.ts +16 -8
- package/dist/react/FragmentReader.d.ts.map +1 -1
- package/dist/react/FragmentReader.js +8 -7
- package/dist/react/FragmentReader.mjs +10 -0
- package/dist/react/FragmentReader.mjs.map +1 -0
- package/dist/react/FragmentRenderer.d.mts +20 -0
- package/dist/react/FragmentRenderer.d.mts.map +1 -0
- package/dist/react/FragmentRenderer.d.ts +18 -14
- package/dist/react/FragmentRenderer.d.ts.map +1 -1
- package/dist/react/FragmentRenderer.js +11 -33
- package/dist/react/FragmentRenderer.mjs +12 -0
- package/dist/react/FragmentRenderer.mjs.map +1 -0
- package/dist/react/IsographEnvironmentProvider.d.mts +17 -0
- package/dist/react/IsographEnvironmentProvider.d.mts.map +1 -0
- package/dist/react/IsographEnvironmentProvider.d.ts +15 -9
- package/dist/react/IsographEnvironmentProvider.d.ts.map +1 -1
- package/dist/react/IsographEnvironmentProvider.js +15 -39
- package/dist/react/IsographEnvironmentProvider.mjs +17 -0
- package/dist/react/IsographEnvironmentProvider.mjs.map +1 -0
- package/dist/react/LoadableFieldReader.d.mts +21 -0
- package/dist/react/LoadableFieldReader.d.mts.map +1 -0
- package/dist/react/LoadableFieldReader.d.ts +15 -13
- package/dist/react/LoadableFieldReader.d.ts.map +1 -1
- package/dist/react/LoadableFieldReader.js +13 -47
- package/dist/react/LoadableFieldReader.mjs +14 -0
- package/dist/react/LoadableFieldReader.mjs.map +1 -0
- package/dist/react/LoadableFieldRenderer.d.mts +22 -0
- package/dist/react/LoadableFieldRenderer.d.mts.map +1 -0
- package/dist/react/LoadableFieldRenderer.d.ts +16 -14
- package/dist/react/LoadableFieldRenderer.d.ts.map +1 -1
- package/dist/react/LoadableFieldRenderer.js +13 -70
- package/dist/react/LoadableFieldRenderer.mjs +14 -0
- package/dist/react/LoadableFieldRenderer.mjs.map +1 -0
- package/dist/react/RenderAfterCommit__DO_NOT_USE.d.mts +18 -0
- package/dist/react/RenderAfterCommit__DO_NOT_USE.d.mts.map +1 -0
- package/dist/react/RenderAfterCommit__DO_NOT_USE.d.ts +11 -3
- package/dist/react/RenderAfterCommit__DO_NOT_USE.d.ts.map +1 -1
- package/dist/react/RenderAfterCommit__DO_NOT_USE.js +17 -13
- package/dist/react/RenderAfterCommit__DO_NOT_USE.mjs +18 -0
- package/dist/react/RenderAfterCommit__DO_NOT_USE.mjs.map +1 -0
- package/dist/react/createIsographEnvironment.d.mts +9 -0
- package/dist/react/createIsographEnvironment.d.mts.map +1 -0
- package/dist/react/createIsographEnvironment.d.ts +7 -3
- package/dist/react/createIsographEnvironment.d.ts.map +1 -1
- package/dist/react/createIsographEnvironment.js +8 -6
- package/dist/react/createIsographEnvironment.mjs +11 -0
- package/dist/react/createIsographEnvironment.mjs.map +1 -0
- package/dist/react/maybeUnwrapNetworkRequest.js +9 -12
- package/dist/react/maybeUnwrapNetworkRequest.mjs +12 -0
- package/dist/react/maybeUnwrapNetworkRequest.mjs.map +1 -0
- package/dist/react/useImperativeReference.d.mts +15 -0
- package/dist/react/useImperativeReference.d.mts.map +1 -0
- package/dist/react/useImperativeReference.d.ts +13 -11
- package/dist/react/useImperativeReference.d.ts.map +1 -1
- package/dist/react/useImperativeReference.js +34 -30
- package/dist/react/useImperativeReference.mjs +35 -0
- package/dist/react/useImperativeReference.mjs.map +1 -0
- package/dist/react/useLazyReference.d.mts +13 -0
- package/dist/react/useLazyReference.d.mts.map +1 -0
- package/dist/react/useLazyReference.d.ts +11 -9
- package/dist/react/useLazyReference.d.ts.map +1 -1
- package/dist/react/useLazyReference.js +17 -40
- package/dist/react/useLazyReference.mjs +18 -0
- package/dist/react/useLazyReference.mjs.map +1 -0
- package/dist/react/useReadAndSubscribe.d.mts +20 -0
- package/dist/react/useReadAndSubscribe.d.mts.map +1 -0
- package/dist/react/useReadAndSubscribe.d.ts +14 -11
- package/dist/react/useReadAndSubscribe.d.ts.map +1 -1
- package/dist/react/useReadAndSubscribe.js +54 -63
- package/dist/react/useReadAndSubscribe.mjs +59 -0
- package/dist/react/useReadAndSubscribe.mjs.map +1 -0
- package/dist/react/useRerenderOnChange.d.mts +12 -0
- package/dist/react/useRerenderOnChange.d.mts.map +1 -0
- package/dist/react/useRerenderOnChange.d.ts +10 -6
- package/dist/react/useRerenderOnChange.d.ts.map +1 -1
- package/dist/react/useRerenderOnChange.js +16 -20
- package/dist/react/useRerenderOnChange.mjs +17 -0
- package/dist/react/useRerenderOnChange.mjs.map +1 -0
- package/dist/react/useResult.d.mts +8 -0
- package/dist/react/useResult.d.mts.map +1 -0
- package/dist/react/useResult.d.ts +7 -3
- package/dist/react/useResult.d.ts.map +1 -1
- package/dist/react/useResult.js +27 -30
- package/dist/react/useResult.mjs +30 -0
- package/dist/react/useResult.mjs.map +1 -0
- package/package.json +16 -8
- package/dist/core/areEqualWithDeepComparison.d.ts +0 -3
- package/dist/core/areEqualWithDeepComparison.d.ts.map +0 -1
- package/dist/core/brand.js +0 -2
- package/dist/core/componentCache.d.ts +0 -5
- package/dist/core/componentCache.d.ts.map +0 -1
- package/dist/core/getOrCreateCacheForArtifact.d.ts +0 -8
- package/dist/core/getOrCreateCacheForArtifact.d.ts.map +0 -1
- package/dist/core/reader.js +0 -2
- package/dist/core/startUpdate.d.ts +0 -9
- package/dist/core/startUpdate.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/react/maybeUnwrapNetworkRequest.d.ts +0 -4
- package/dist/react/maybeUnwrapNetworkRequest.d.ts.map +0 -1
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
//#region src/loadable-hooks/useImperativeExposedMutationField.d.ts
|
|
2
|
+
type UseImperativeLoadableFieldReturn<TArgs> = {
|
|
3
|
+
loadFragmentReference: (args: TArgs) => void;
|
|
3
4
|
};
|
|
4
|
-
|
|
5
|
+
declare function useImperativeExposedMutationField<TArgs>(exposedField: (args: TArgs) => [string, () => void]): UseImperativeLoadableFieldReturn<TArgs>;
|
|
6
|
+
//#endregion
|
|
7
|
+
export { UseImperativeLoadableFieldReturn, useImperativeExposedMutationField };
|
|
5
8
|
//# sourceMappingURL=useImperativeExposedMutationField.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useImperativeExposedMutationField.d.ts","
|
|
1
|
+
{"version":3,"file":"useImperativeExposedMutationField.d.ts","names":[],"sources":["../../src/loadable-hooks/useImperativeExposedMutationField.ts"],"sourcesContent":[],"mappings":";KAAY;EAAA,qBAAA,EAAA,CAAA,IAAA,EACoB,KADY,EAAA,GAAA,IAAA;AAO5C,CAAA;AACuB,iBADP,iCACO,CAAA,KAAA,CAAA,CAAA,YAAA,EAAA,CAAA,IAAA,EAAA,KAAA,EAAA,GAAA,CAAA,MAAA,EAAA,GAAA,GAAA,IAAA,CAAA,CAAA,EACpB,gCADoB,CACa,KADb,CAAA"}
|
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.useImperativeExposedMutationField = useImperativeExposedMutationField;
|
|
4
|
-
// Note: this function doesn't seem to work if there are additional arguments,
|
|
5
|
-
// e.g. with set_pet_tagline. Why? This seems to straightforwardly call
|
|
6
|
-
// exposedField(args)[1](); Odd.
|
|
1
|
+
|
|
2
|
+
//#region src/loadable-hooks/useImperativeExposedMutationField.ts
|
|
7
3
|
function useImperativeExposedMutationField(exposedField) {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
},
|
|
13
|
-
};
|
|
4
|
+
return { loadFragmentReference: (args) => {
|
|
5
|
+
const [_id, loader] = exposedField(args);
|
|
6
|
+
loader();
|
|
7
|
+
} };
|
|
14
8
|
}
|
|
9
|
+
|
|
10
|
+
//#endregion
|
|
11
|
+
exports.useImperativeExposedMutationField = useImperativeExposedMutationField;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
//#region src/loadable-hooks/useImperativeExposedMutationField.ts
|
|
2
|
+
function useImperativeExposedMutationField(exposedField) {
|
|
3
|
+
return { loadFragmentReference: (args) => {
|
|
4
|
+
const [_id, loader] = exposedField(args);
|
|
5
|
+
loader();
|
|
6
|
+
} };
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
//#endregion
|
|
10
|
+
export { useImperativeExposedMutationField };
|
|
11
|
+
//# sourceMappingURL=useImperativeExposedMutationField.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useImperativeExposedMutationField.mjs","names":[],"sources":["../../src/loadable-hooks/useImperativeExposedMutationField.ts"],"sourcesContent":["export type UseImperativeLoadableFieldReturn<TArgs> = {\n loadFragmentReference: (args: TArgs) => void;\n};\n\n// Note: this function doesn't seem to work if there are additional arguments,\n// e.g. with set_pet_tagline. Why? This seems to straightforwardly call\n// exposedField(args)[1](); Odd.\nexport function useImperativeExposedMutationField<TArgs>(\n exposedField: (args: TArgs) => [string, () => void],\n): UseImperativeLoadableFieldReturn<TArgs> {\n return {\n loadFragmentReference: (args: TArgs) => {\n const [_id, loader] = exposedField(args);\n loader();\n },\n };\n}\n"],"mappings":";AAOA,SAAgB,kCACd,cACyC;AACzC,QAAO,EACL,wBAAwB,SAAgB;EACtC,MAAM,CAAC,KAAK,UAAU,aAAa,KAAK;AACxC,UAAQ;IAEX"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { FetchOptions } from "../core/check.mjs";
|
|
2
|
+
import { LoadableField } from "../core/reader.mjs";
|
|
3
|
+
import { ExtractParameters, FragmentReference } from "../core/FragmentReference.mjs";
|
|
4
|
+
|
|
5
|
+
//#region src/loadable-hooks/useImperativeLoadableField.d.ts
|
|
6
|
+
type UseImperativeLoadableFieldReturn<TReadFromStore extends {
|
|
7
|
+
data: object;
|
|
8
|
+
parameters: object;
|
|
9
|
+
}, TResult, TProvidedArgs extends object> = {
|
|
10
|
+
fragmentReference: FragmentReference<TReadFromStore, TResult> | null;
|
|
11
|
+
loadFragmentReference: (args: Omit<ExtractParameters<TReadFromStore>, keyof TProvidedArgs> | void, fetchOptions?: FetchOptions<TResult, never>) => void;
|
|
12
|
+
};
|
|
13
|
+
declare function useImperativeLoadableField<TReadFromStore extends {
|
|
14
|
+
data: object;
|
|
15
|
+
parameters: object;
|
|
16
|
+
}, TResult, TProvidedArgs extends object>(loadableField: LoadableField<TReadFromStore, TResult, Omit<ExtractParameters<TReadFromStore>, keyof TProvidedArgs>>): UseImperativeLoadableFieldReturn<TReadFromStore, TResult, TProvidedArgs>;
|
|
17
|
+
//#endregion
|
|
18
|
+
export { UseImperativeLoadableFieldReturn, useImperativeLoadableField };
|
|
19
|
+
//# sourceMappingURL=useImperativeLoadableField.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useImperativeLoadableField.d.mts","names":[],"sources":["../../src/loadable-hooks/useImperativeLoadableField.ts"],"sourcesContent":[],"mappings":";;;;;KAWY;;EAAA,UAAA,EAAA,MAAA;CAK2B,EAAA,OAAA,EAAA,sBAAA,MAAA,CAAA,GAAA;EAAgB,iBAAA,EAAlC,iBAAkC,CAAhB,cAAgB,EAAA,OAAA,CAAA,GAAA,IAAA;EAAlC,qBAAA,EAAA,CAAA,IAAA,EAIX,IAJW,CAIN,iBAJM,CAIY,cAJZ,CAAA,EAAA,MAImC,aAJnC,CAAA,GAAA,IAAA,EAAA,YAAA,CAAA,EAKF,YALE,CAKW,OALX,EAAA,KAAA,CAAA,EAAA,GAAA,IAAA;CAIY;AAAlB,iBAKC,0BALD,CAAA,uBAAA;EAAyC,IAAA,EAAA,MAAA;EAA9C,UAAA,EAAA,MAAA;CACsB,EAAA,OAAA,EAAA,sBAAA,MAAA,CAAA,CAAA,aAAA,EASf,aATe,CAU5B,cAV4B,EAW5B,OAX4B,EAY5B,IAZ4B,CAYvB,iBAZuB,CAYL,cAZK,CAAA,EAAA,MAYkB,aAZlB,CAAA,CAAA,CAAA,EAc7B,gCAd6B,CAcI,cAdJ,EAcoB,OAdpB,EAc6B,aAd7B,CAAA"}
|
|
@@ -1,15 +1,19 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { FetchOptions } from "../core/check.js";
|
|
2
|
+
import { LoadableField } from "../core/reader.js";
|
|
3
|
+
import { ExtractParameters, FragmentReference } from "../core/FragmentReference.js";
|
|
4
|
+
|
|
5
|
+
//#region src/loadable-hooks/useImperativeLoadableField.d.ts
|
|
6
|
+
type UseImperativeLoadableFieldReturn<TReadFromStore extends {
|
|
7
|
+
data: object;
|
|
8
|
+
parameters: object;
|
|
7
9
|
}, TResult, TProvidedArgs extends object> = {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
+
fragmentReference: FragmentReference<TReadFromStore, TResult> | null;
|
|
11
|
+
loadFragmentReference: (args: Omit<ExtractParameters<TReadFromStore>, keyof TProvidedArgs> | void, fetchOptions?: FetchOptions<TResult, never>) => void;
|
|
10
12
|
};
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
13
|
+
declare function useImperativeLoadableField<TReadFromStore extends {
|
|
14
|
+
data: object;
|
|
15
|
+
parameters: object;
|
|
14
16
|
}, TResult, TProvidedArgs extends object>(loadableField: LoadableField<TReadFromStore, TResult, Omit<ExtractParameters<TReadFromStore>, keyof TProvidedArgs>>): UseImperativeLoadableFieldReturn<TReadFromStore, TResult, TProvidedArgs>;
|
|
17
|
+
//#endregion
|
|
18
|
+
export { UseImperativeLoadableFieldReturn, useImperativeLoadableField };
|
|
15
19
|
//# sourceMappingURL=useImperativeLoadableField.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useImperativeLoadableField.d.ts","
|
|
1
|
+
{"version":3,"file":"useImperativeLoadableField.d.ts","names":[],"sources":["../../src/loadable-hooks/useImperativeLoadableField.ts"],"sourcesContent":[],"mappings":";;;;;KAWY;;EAAA,UAAA,EAAA,MAAA;CAK2B,EAAA,OAAA,EAAA,sBAAA,MAAA,CAAA,GAAA;EAAgB,iBAAA,EAAlC,iBAAkC,CAAhB,cAAgB,EAAA,OAAA,CAAA,GAAA,IAAA;EAAlC,qBAAA,EAAA,CAAA,IAAA,EAIX,IAJW,CAIN,iBAJM,CAIY,cAJZ,CAAA,EAAA,MAImC,aAJnC,CAAA,GAAA,IAAA,EAAA,YAAA,CAAA,EAKF,YALE,CAKW,OALX,EAAA,KAAA,CAAA,EAAA,GAAA,IAAA;CAIY;AAAlB,iBAKC,0BALD,CAAA,uBAAA;EAAyC,IAAA,EAAA,MAAA;EAA9C,UAAA,EAAA,MAAA;CACsB,EAAA,OAAA,EAAA,sBAAA,MAAA,CAAA,CAAA,aAAA,EASf,aATe,CAU5B,cAV4B,EAW5B,OAX4B,EAY5B,IAZ4B,CAYvB,iBAZuB,CAYL,cAZK,CAAA,EAAA,MAYkB,aAZlB,CAAA,CAAA,CAAA,EAc7B,gCAd6B,CAcI,cAdJ,EAcoB,OAdpB,EAc6B,aAd7B,CAAA"}
|
|
@@ -1,14 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.js');
|
|
2
|
+
let __isograph_react_disposable_state = require("@isograph/react-disposable-state");
|
|
3
|
+
__isograph_react_disposable_state = require_rolldown_runtime.__toESM(__isograph_react_disposable_state);
|
|
4
|
+
|
|
5
|
+
//#region src/loadable-hooks/useImperativeLoadableField.ts
|
|
5
6
|
function useImperativeLoadableField(loadableField) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
7
|
+
const { state, setState } = (0, __isograph_react_disposable_state.useUpdatableDisposableState)();
|
|
8
|
+
return {
|
|
9
|
+
loadFragmentReference: (args, fetchOptions) => {
|
|
10
|
+
const [_id, loader] = loadableField(args, fetchOptions ?? {});
|
|
11
|
+
setState(loader());
|
|
12
|
+
},
|
|
13
|
+
fragmentReference: state !== __isograph_react_disposable_state.UNASSIGNED_STATE ? state : null
|
|
14
|
+
};
|
|
14
15
|
}
|
|
16
|
+
|
|
17
|
+
//#endregion
|
|
18
|
+
exports.useImperativeLoadableField = useImperativeLoadableField;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { UNASSIGNED_STATE, useUpdatableDisposableState } from "@isograph/react-disposable-state";
|
|
2
|
+
|
|
3
|
+
//#region src/loadable-hooks/useImperativeLoadableField.ts
|
|
4
|
+
function useImperativeLoadableField(loadableField) {
|
|
5
|
+
const { state, setState } = useUpdatableDisposableState();
|
|
6
|
+
return {
|
|
7
|
+
loadFragmentReference: (args, fetchOptions) => {
|
|
8
|
+
const [_id, loader] = loadableField(args, fetchOptions ?? {});
|
|
9
|
+
setState(loader());
|
|
10
|
+
},
|
|
11
|
+
fragmentReference: state !== UNASSIGNED_STATE ? state : null
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
//#endregion
|
|
16
|
+
export { useImperativeLoadableField };
|
|
17
|
+
//# sourceMappingURL=useImperativeLoadableField.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useImperativeLoadableField.mjs","names":[],"sources":["../../src/loadable-hooks/useImperativeLoadableField.ts"],"sourcesContent":["import {\n UNASSIGNED_STATE,\n useUpdatableDisposableState,\n} from '@isograph/react-disposable-state';\nimport type { FetchOptions } from '../core/check';\nimport type {\n ExtractParameters,\n FragmentReference,\n} from '../core/FragmentReference';\nimport type { LoadableField } from '../core/reader';\n\nexport type UseImperativeLoadableFieldReturn<\n TReadFromStore extends { data: object; parameters: object },\n TResult,\n TProvidedArgs extends object,\n> = {\n fragmentReference: FragmentReference<TReadFromStore, TResult> | null;\n loadFragmentReference: (\n // TODO this should be void iff all args are provided by the query, like in\n // useClientSideDefer.\n args: Omit<ExtractParameters<TReadFromStore>, keyof TProvidedArgs> | void,\n fetchOptions?: FetchOptions<TResult, never>,\n ) => void;\n};\n\nexport function useImperativeLoadableField<\n TReadFromStore extends { data: object; parameters: object },\n TResult,\n TProvidedArgs extends object,\n>(\n loadableField: LoadableField<\n TReadFromStore,\n TResult,\n Omit<ExtractParameters<TReadFromStore>, keyof TProvidedArgs>\n >,\n): UseImperativeLoadableFieldReturn<TReadFromStore, TResult, TProvidedArgs> {\n const { state, setState } =\n useUpdatableDisposableState<FragmentReference<TReadFromStore, TResult>>();\n\n return {\n loadFragmentReference: (\n args: Omit<ExtractParameters<TReadFromStore>, keyof TProvidedArgs> | void,\n fetchOptions?: FetchOptions<TResult, never>,\n ) => {\n const [_id, loader] = loadableField(args, fetchOptions ?? {});\n setState(loader());\n },\n fragmentReference: state !== UNASSIGNED_STATE ? state : null,\n };\n}\n"],"mappings":";;;AAyBA,SAAgB,2BAKd,eAK0E;CAC1E,MAAM,EAAE,OAAO,aACb,6BAAyE;AAE3E,QAAO;EACL,wBACE,MACA,iBACG;GACH,MAAM,CAAC,KAAK,UAAU,cAAc,MAAM,gBAAgB,EAAE,CAAC;AAC7D,YAAS,QAAQ,CAAC;;EAEpB,mBAAmB,UAAU,mBAAmB,QAAQ;EACzD"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { FetchOptions } from "../core/check.mjs";
|
|
2
|
+
import { LoadableField } from "../core/reader.mjs";
|
|
3
|
+
import { FragmentReference, UnknownTReadFromStore } from "../core/FragmentReference.mjs";
|
|
4
|
+
|
|
5
|
+
//#region src/loadable-hooks/useSkipLimitPagination.d.ts
|
|
6
|
+
type UseSkipLimitReturnValue<TReadFromStore extends UnknownTReadFromStore, TItem> = {
|
|
7
|
+
readonly kind: 'Complete';
|
|
8
|
+
readonly fetchMore: (count: number, fetchOptions?: FetchOptions<ReadonlyArray<TItem>, never>) => void;
|
|
9
|
+
readonly results: ReadonlyArray<TItem>;
|
|
10
|
+
} | {
|
|
11
|
+
readonly kind: 'Pending';
|
|
12
|
+
readonly results: ReadonlyArray<TItem>;
|
|
13
|
+
readonly pendingFragment: FragmentReference<TReadFromStore, ReadonlyArray<TItem>>;
|
|
14
|
+
};
|
|
15
|
+
type UseSkipLimitPaginationArgs = {
|
|
16
|
+
skip: number;
|
|
17
|
+
limit: number;
|
|
18
|
+
};
|
|
19
|
+
declare function useSkipLimitPagination<TItem, TReadFromStore extends UnknownTReadFromStore>(loadableField: LoadableField<TReadFromStore, ReadonlyArray<TItem>, UseSkipLimitPaginationArgs>, initialState?: {
|
|
20
|
+
skip?: number | void | null;
|
|
21
|
+
}): UseSkipLimitReturnValue<TReadFromStore, TItem>;
|
|
22
|
+
//#endregion
|
|
23
|
+
export { UseSkipLimitPaginationArgs, UseSkipLimitReturnValue, useSkipLimitPagination };
|
|
24
|
+
//# sourceMappingURL=useSkipLimitPagination.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSkipLimitPagination.d.mts","names":[],"sources":["../../src/loadable-hooks/useSkipLimitPagination.ts"],"sourcesContent":[],"mappings":";;;;;KAyBY,+CACa;;EADb,SAAA,SAAA,EAAA,CAAA,KAAuB,EAAA,MAAA,EAAA,YAAA,CAAA,EAQZ,YARY,CAQC,aARD,CAQe,KARf,CAAA,EAAA,KAAA,CAAA,EAAA,GAAA,IAAA;EACV,SAAA,OAAA,EASD,aATC,CASa,KATb,CAAA;CAOyB,GAAA;EAAd,SAAA,IAAA,EAAA,SAAA;EAAb,SAAA,OAAA,EAMC,aAND,CAMe,KANf,CAAA;EAEe,SAAA,eAAA,EAKN,iBALM,CAM9B,cAN8B,EAO9B,aAP8B,CAOhB,KAPgB,CAAA,CAAA;CAAd;AAIc,KAkC1B,0BAAA,GAlC0B;EAAd,IAAA,EAAA,MAAA;EAEhB,KAAA,EAAA,MAAA;CACc;AAAd,iBAoCQ,sBApCR,CAAA,KAAA,EAAA,uBAsCiB,qBAtCjB,CAAA,CAAA,aAAA,EAwCS,aAxCT,CAyCJ,cAzCI,EA0CJ,aA1CI,CA0CU,KA1CV,CAAA,EA2CJ,0BA3CI,CAAA,EAAA,YAFyC,CAEzC,EAAA;EAFwB,IAAA,CAAA,EAAA,MAAA,GAAA,IAAA,GAAA,IAAA;CAAiB,CAAA,EAkD9C,uBAlD8C,CAkDtB,cAlDsB,EAkDN,KAlDM,CAAA"}
|
|
@@ -1,20 +1,24 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import { FetchOptions } from "../core/check.js";
|
|
2
|
+
import { LoadableField } from "../core/reader.js";
|
|
3
|
+
import { FragmentReference, UnknownTReadFromStore } from "../core/FragmentReference.js";
|
|
4
|
+
|
|
5
|
+
//#region src/loadable-hooks/useSkipLimitPagination.d.ts
|
|
6
|
+
type UseSkipLimitReturnValue<TReadFromStore extends UnknownTReadFromStore, TItem> = {
|
|
7
|
+
readonly kind: 'Complete';
|
|
8
|
+
readonly fetchMore: (count: number, fetchOptions?: FetchOptions<ReadonlyArray<TItem>, never>) => void;
|
|
9
|
+
readonly results: ReadonlyArray<TItem>;
|
|
8
10
|
} | {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
readonly kind: 'Pending';
|
|
12
|
+
readonly results: ReadonlyArray<TItem>;
|
|
13
|
+
readonly pendingFragment: FragmentReference<TReadFromStore, ReadonlyArray<TItem>>;
|
|
12
14
|
};
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
15
|
+
type UseSkipLimitPaginationArgs = {
|
|
16
|
+
skip: number;
|
|
17
|
+
limit: number;
|
|
16
18
|
};
|
|
17
|
-
|
|
18
|
-
|
|
19
|
+
declare function useSkipLimitPagination<TItem, TReadFromStore extends UnknownTReadFromStore>(loadableField: LoadableField<TReadFromStore, ReadonlyArray<TItem>, UseSkipLimitPaginationArgs>, initialState?: {
|
|
20
|
+
skip?: number | void | null;
|
|
19
21
|
}): UseSkipLimitReturnValue<TReadFromStore, TItem>;
|
|
22
|
+
//#endregion
|
|
23
|
+
export { UseSkipLimitPaginationArgs, UseSkipLimitReturnValue, useSkipLimitPagination };
|
|
20
24
|
//# sourceMappingURL=useSkipLimitPagination.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSkipLimitPagination.d.ts","
|
|
1
|
+
{"version":3,"file":"useSkipLimitPagination.d.ts","names":[],"sources":["../../src/loadable-hooks/useSkipLimitPagination.ts"],"sourcesContent":[],"mappings":";;;;;KAyBY,+CACa;;EADb,SAAA,SAAA,EAAA,CAAA,KAAuB,EAAA,MAAA,EAAA,YAAA,CAAA,EAQZ,YARY,CAQC,aARD,CAQe,KARf,CAAA,EAAA,KAAA,CAAA,EAAA,GAAA,IAAA;EACV,SAAA,OAAA,EASD,aATC,CASa,KATb,CAAA;CAOyB,GAAA;EAAd,SAAA,IAAA,EAAA,SAAA;EAAb,SAAA,OAAA,EAMC,aAND,CAMe,KANf,CAAA;EAEe,SAAA,eAAA,EAKN,iBALM,CAM9B,cAN8B,EAO9B,aAP8B,CAOhB,KAPgB,CAAA,CAAA;CAAd;AAIc,KAkC1B,0BAAA,GAlC0B;EAAd,IAAA,EAAA,MAAA;EAEhB,KAAA,EAAA,MAAA;CACc;AAAd,iBAoCQ,sBApCR,CAAA,KAAA,EAAA,uBAsCiB,qBAtCjB,CAAA,CAAA,aAAA,EAwCS,aAxCT,CAyCJ,cAzCI,EA0CJ,aA1CI,CA0CU,KA1CV,CAAA,EA2CJ,0BA3CI,CAAA,EAAA,YAFyC,CAEzC,EAAA;EAFwB,IAAA,CAAA,EAAA,MAAA,GAAA,IAAA,GAAA,IAAA;CAAiB,CAAA,EAkD9C,uBAlD8C,CAkDtB,cAlDsB,EAkDN,KAlDM,CAAA"}
|
|
@@ -1,168 +1,122 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
1
|
+
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.js');
|
|
2
|
+
const require_PromiseWrapper = require('../core/PromiseWrapper.js');
|
|
3
|
+
const require_startUpdate = require('../core/startUpdate.js');
|
|
4
|
+
const require_read = require('../core/read.js');
|
|
5
|
+
const require_cache = require('../core/cache.js');
|
|
6
|
+
const require_IsographEnvironmentProvider = require('../react/IsographEnvironmentProvider.js');
|
|
7
|
+
const require_maybeUnwrapNetworkRequest = require('../react/maybeUnwrapNetworkRequest.js');
|
|
8
|
+
const require_useReadAndSubscribe = require('../react/useReadAndSubscribe.js');
|
|
9
|
+
let __isograph_react_disposable_state = require("@isograph/react-disposable-state");
|
|
10
|
+
__isograph_react_disposable_state = require_rolldown_runtime.__toESM(__isograph_react_disposable_state);
|
|
11
|
+
let react = require("react");
|
|
12
|
+
react = require_rolldown_runtime.__toESM(react);
|
|
13
|
+
let __isograph_reference_counted_pointer = require("@isograph/reference-counted-pointer");
|
|
14
|
+
__isograph_reference_counted_pointer = require_rolldown_runtime.__toESM(__isograph_reference_counted_pointer);
|
|
15
|
+
|
|
16
|
+
//#region src/loadable-hooks/useSkipLimitPagination.ts
|
|
14
17
|
function flatten(arr) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
outArray.push(item);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
return outArray;
|
|
18
|
+
let outArray = [];
|
|
19
|
+
for (const subarr of arr) for (const item of subarr) outArray.push(item);
|
|
20
|
+
return outArray;
|
|
22
21
|
}
|
|
23
22
|
function useSkipLimitPagination(loadableField, initialState) {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
}
|
|
121
|
-
return fragmentReference;
|
|
122
|
-
});
|
|
123
|
-
const readOutDataAndRecords = completedFragmentReferences.map((fragmentReference) => (0, read_1.readButDoNotEvaluate)(environment, fragmentReference, networkRequestOptions));
|
|
124
|
-
(0, useReadAndSubscribe_1.useSubscribeToMultiple)(subscribeCompletedFragmentReferences(completedFragmentReferences));
|
|
125
|
-
if (networkRequestStatus == null) {
|
|
126
|
-
return {
|
|
127
|
-
kind: 'Complete',
|
|
128
|
-
fetchMore: getFetchMore((_b = initialState === null || initialState === void 0 ? void 0 : initialState.skip) !== null && _b !== void 0 ? _b : 0),
|
|
129
|
-
results: [],
|
|
130
|
-
};
|
|
131
|
-
}
|
|
132
|
-
switch (networkRequestStatus.state.kind) {
|
|
133
|
-
case 'Pending': {
|
|
134
|
-
const unsubscribe = (0, cache_1.subscribeToAnyChange)(environment, () => {
|
|
135
|
-
unsubscribe();
|
|
136
|
-
rerender({});
|
|
137
|
-
});
|
|
138
|
-
return {
|
|
139
|
-
kind: 'Pending',
|
|
140
|
-
pendingFragment: networkRequestStatus.mostRecentFragmentReference,
|
|
141
|
-
results: readCompletedFragmentReferences(completedFragmentReferences),
|
|
142
|
-
};
|
|
143
|
-
}
|
|
144
|
-
case 'Err': {
|
|
145
|
-
throw networkRequestStatus.state.error;
|
|
146
|
-
}
|
|
147
|
-
case 'Ok': {
|
|
148
|
-
const results = readCompletedFragmentReferences(completedFragmentReferences);
|
|
149
|
-
return {
|
|
150
|
-
kind: 'Complete',
|
|
151
|
-
results,
|
|
152
|
-
fetchMore: getFetchMore(results.length),
|
|
153
|
-
};
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
// @ts-ignore
|
|
158
|
-
function tsTests() {
|
|
159
|
-
let basicLoadable;
|
|
160
|
-
useSkipLimitPagination(basicLoadable);
|
|
161
|
-
useSkipLimitPagination(basicLoadable, {});
|
|
162
|
-
useSkipLimitPagination(basicLoadable, { skip: 10 });
|
|
163
|
-
let unprovidedSearchLoadable;
|
|
164
|
-
// @ts-expect-error
|
|
165
|
-
useSkipLimitPagination(unprovidedSearchLoadable);
|
|
166
|
-
let providedSearchLoadable;
|
|
167
|
-
useSkipLimitPagination(providedSearchLoadable);
|
|
23
|
+
const networkRequestOptions = {
|
|
24
|
+
suspendIfInFlight: true,
|
|
25
|
+
throwOnNetworkError: true
|
|
26
|
+
};
|
|
27
|
+
const { state, setState } = (0, __isograph_react_disposable_state.useUpdatableDisposableState)();
|
|
28
|
+
const environment = require_IsographEnvironmentProvider.useIsographEnvironment();
|
|
29
|
+
function readCompletedFragmentReferences(completedReferences) {
|
|
30
|
+
return flatten(completedReferences.map((fragmentReference, i) => {
|
|
31
|
+
const readerWithRefetchQueries = require_PromiseWrapper.readPromise(fragmentReference.readerWithRefetchQueries);
|
|
32
|
+
const data = readOutDataAndRecords[i]?.item;
|
|
33
|
+
if (data == null) throw new Error("Parameter data is unexpectedly null. This is indicative of a bug in Isograph.");
|
|
34
|
+
const firstParameter = {
|
|
35
|
+
data,
|
|
36
|
+
parameters: fragmentReference.variables,
|
|
37
|
+
...readerWithRefetchQueries.readerArtifact.hasUpdatable ? { startUpdate: require_startUpdate.getOrCreateCachedStartUpdate(environment, fragmentReference, networkRequestOptions) } : void 0
|
|
38
|
+
};
|
|
39
|
+
if (readerWithRefetchQueries.readerArtifact.kind !== "EagerReaderArtifact") throw new Error(`@loadable field of kind "${readerWithRefetchQueries.readerArtifact.kind}" is not supported by useSkipLimitPagination`);
|
|
40
|
+
return readerWithRefetchQueries.readerArtifact.resolver(firstParameter);
|
|
41
|
+
}));
|
|
42
|
+
}
|
|
43
|
+
function subscribeCompletedFragmentReferences(completedReferences) {
|
|
44
|
+
return completedReferences.map((fragmentReference, i) => {
|
|
45
|
+
require_maybeUnwrapNetworkRequest.maybeUnwrapNetworkRequest(fragmentReference.networkRequest, networkRequestOptions);
|
|
46
|
+
const readerWithRefetchQueries = require_PromiseWrapper.readPromise(fragmentReference.readerWithRefetchQueries);
|
|
47
|
+
const records = readOutDataAndRecords[i];
|
|
48
|
+
if (records == null) throw new Error("subscribeCompletedFragmentReferences records is unexpectedly null");
|
|
49
|
+
return {
|
|
50
|
+
fragmentReference,
|
|
51
|
+
readerAst: readerWithRefetchQueries.readerArtifact.readerAst,
|
|
52
|
+
records,
|
|
53
|
+
callback(_data) {
|
|
54
|
+
rerender({});
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
const getFetchMore = (loadedSoFar) => (count, fetchOptions) => {
|
|
60
|
+
const newPointer = (0, __isograph_reference_counted_pointer.createReferenceCountedPointer)(loadableField({
|
|
61
|
+
skip: loadedSoFar,
|
|
62
|
+
limit: count
|
|
63
|
+
}, fetchOptions ?? {})[1]());
|
|
64
|
+
const clonedPointers = loadedReferences.map(([refCountedPointer]) => {
|
|
65
|
+
const clonedRefCountedPointer = refCountedPointer.cloneIfNotDisposed();
|
|
66
|
+
if (clonedRefCountedPointer == null) throw new Error("This reference counted pointer has already been disposed. This is indicative of a bug in useSkipLimitPagination.");
|
|
67
|
+
return clonedRefCountedPointer;
|
|
68
|
+
});
|
|
69
|
+
clonedPointers.push(newPointer);
|
|
70
|
+
setState([clonedPointers, () => {
|
|
71
|
+
clonedPointers.forEach(([, dispose]) => {
|
|
72
|
+
dispose();
|
|
73
|
+
});
|
|
74
|
+
}]);
|
|
75
|
+
};
|
|
76
|
+
const [, rerender] = (0, react.useState)({});
|
|
77
|
+
const loadedReferences = state === __isograph_react_disposable_state.UNASSIGNED_STATE ? [] : state;
|
|
78
|
+
const mostRecentItem = loadedReferences[loadedReferences.length - 1];
|
|
79
|
+
const mostRecentFragmentReference = mostRecentItem?.[0].getItemIfNotDisposed();
|
|
80
|
+
if (mostRecentItem != null && mostRecentFragmentReference == null) throw new Error("FragmentReference is unexpectedly disposed. This is indicative of a bug in Isograph.");
|
|
81
|
+
const networkRequestStatus = mostRecentFragmentReference != null ? {
|
|
82
|
+
mostRecentFragmentReference,
|
|
83
|
+
state: require_PromiseWrapper.getPromiseState(mostRecentFragmentReference.networkRequest)
|
|
84
|
+
} : null;
|
|
85
|
+
const completedFragmentReferences = (networkRequestStatus?.state?.kind === "Ok" ? loadedReferences : loadedReferences.slice(0, loadedReferences.length - 1)).map(([pointer]) => {
|
|
86
|
+
const fragmentReference = pointer.getItemIfNotDisposed();
|
|
87
|
+
if (fragmentReference == null) throw new Error("FragmentReference is unexpectedly disposed. This is indicative of a bug in Isograph.");
|
|
88
|
+
return fragmentReference;
|
|
89
|
+
});
|
|
90
|
+
const readOutDataAndRecords = completedFragmentReferences.map((fragmentReference) => require_read.readButDoNotEvaluate(environment, fragmentReference, networkRequestOptions));
|
|
91
|
+
require_useReadAndSubscribe.useSubscribeToMultiple(subscribeCompletedFragmentReferences(completedFragmentReferences));
|
|
92
|
+
if (networkRequestStatus == null) return {
|
|
93
|
+
kind: "Complete",
|
|
94
|
+
fetchMore: getFetchMore(initialState?.skip ?? 0),
|
|
95
|
+
results: []
|
|
96
|
+
};
|
|
97
|
+
switch (networkRequestStatus.state.kind) {
|
|
98
|
+
case "Pending": {
|
|
99
|
+
const unsubscribe = require_cache.subscribeToAnyChange(environment, () => {
|
|
100
|
+
unsubscribe();
|
|
101
|
+
rerender({});
|
|
102
|
+
});
|
|
103
|
+
return {
|
|
104
|
+
kind: "Pending",
|
|
105
|
+
pendingFragment: networkRequestStatus.mostRecentFragmentReference,
|
|
106
|
+
results: readCompletedFragmentReferences(completedFragmentReferences)
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
case "Err": throw networkRequestStatus.state.error;
|
|
110
|
+
case "Ok": {
|
|
111
|
+
const results = readCompletedFragmentReferences(completedFragmentReferences);
|
|
112
|
+
return {
|
|
113
|
+
kind: "Complete",
|
|
114
|
+
results,
|
|
115
|
+
fetchMore: getFetchMore(results.length)
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
}
|
|
168
119
|
}
|
|
120
|
+
|
|
121
|
+
//#endregion
|
|
122
|
+
exports.useSkipLimitPagination = useSkipLimitPagination;
|