@isograph/react 0.4.2 → 0.5.0
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 +2 -2
- package/dist/core/FragmentReference.d.ts +4 -2
- package/dist/core/FragmentReference.d.ts.map +1 -1
- package/dist/core/FragmentReference.js +2 -2
- package/dist/core/IsographEnvironment.d.ts +19 -11
- package/dist/core/IsographEnvironment.d.ts.map +1 -1
- package/dist/core/IsographEnvironment.js +27 -2
- package/dist/core/PromiseWrapper.d.ts +13 -7
- package/dist/core/PromiseWrapper.d.ts.map +1 -1
- package/dist/core/areEqualWithDeepComparison.d.ts.map +1 -1
- package/dist/core/areEqualWithDeepComparison.js +5 -0
- package/dist/core/brand.d.ts +17 -0
- package/dist/core/brand.d.ts.map +1 -1
- package/dist/core/cache.d.ts +10 -7
- package/dist/core/cache.d.ts.map +1 -1
- package/dist/core/cache.js +102 -74
- package/dist/core/check.d.ts +8 -4
- package/dist/core/check.d.ts.map +1 -1
- package/dist/core/check.js +10 -7
- package/dist/core/componentCache.d.ts +1 -1
- package/dist/core/componentCache.d.ts.map +1 -1
- package/dist/core/componentCache.js +6 -4
- package/dist/core/entrypoint.d.ts +17 -7
- package/dist/core/entrypoint.d.ts.map +1 -1
- package/dist/core/garbageCollection.d.ts +8 -2
- package/dist/core/garbageCollection.d.ts.map +1 -1
- package/dist/core/garbageCollection.js +36 -14
- package/dist/core/logging.d.ts +16 -3
- package/dist/core/logging.d.ts.map +1 -1
- package/dist/core/makeNetworkRequest.d.ts +4 -2
- package/dist/core/makeNetworkRequest.d.ts.map +1 -1
- package/dist/core/makeNetworkRequest.js +115 -38
- package/dist/core/optimisticProxy.d.ts +59 -0
- package/dist/core/optimisticProxy.d.ts.map +1 -0
- package/dist/core/optimisticProxy.js +399 -0
- package/dist/core/read.d.ts +3 -2
- package/dist/core/read.d.ts.map +1 -1
- package/dist/core/read.js +158 -123
- package/dist/core/reader.d.ts +10 -5
- package/dist/core/reader.d.ts.map +1 -1
- package/dist/core/startUpdate.d.ts +3 -2
- package/dist/core/startUpdate.d.ts.map +1 -1
- package/dist/core/startUpdate.js +35 -36
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/loadable-hooks/useClientSideDefer.d.ts +9 -4
- package/dist/loadable-hooks/useClientSideDefer.d.ts.map +1 -1
- package/dist/loadable-hooks/useClientSideDefer.js +34 -1
- package/dist/loadable-hooks/useConnectionSpecPagination.d.ts +5 -3
- package/dist/loadable-hooks/useConnectionSpecPagination.d.ts.map +1 -1
- package/dist/loadable-hooks/useConnectionSpecPagination.js +27 -13
- package/dist/loadable-hooks/useImperativeLoadableField.d.ts +1 -1
- package/dist/loadable-hooks/useImperativeLoadableField.d.ts.map +1 -1
- package/dist/loadable-hooks/useSkipLimitPagination.d.ts +1 -1
- package/dist/loadable-hooks/useSkipLimitPagination.d.ts.map +1 -1
- package/dist/loadable-hooks/useSkipLimitPagination.js +1 -1
- package/dist/react/FragmentReader.d.ts +2 -1
- package/dist/react/FragmentReader.d.ts.map +1 -1
- package/dist/react/FragmentRenderer.d.ts +2 -1
- package/dist/react/FragmentRenderer.d.ts.map +1 -1
- package/dist/react/LoadableFieldReader.d.ts +9 -3
- package/dist/react/LoadableFieldReader.d.ts.map +1 -1
- package/dist/react/LoadableFieldReader.js +40 -1
- package/dist/react/LoadableFieldRenderer.d.ts +9 -3
- package/dist/react/LoadableFieldRenderer.d.ts.map +1 -1
- package/dist/react/LoadableFieldRenderer.js +36 -1
- package/dist/react/useImperativeReference.d.ts +4 -3
- package/dist/react/useImperativeReference.d.ts.map +1 -1
- package/dist/react/useImperativeReference.js +3 -5
- package/dist/react/useLazyReference.d.ts +2 -1
- package/dist/react/useLazyReference.d.ts.map +1 -1
- package/dist/react/useReadAndSubscribe.d.ts.map +1 -1
- package/dist/react/useReadAndSubscribe.js +1 -3
- package/dist/react/useResult.d.ts.map +1 -1
- package/dist/react/useResult.js +6 -5
- package/package.json +16 -17
- package/src/core/FragmentReference.ts +10 -4
- package/src/core/IsographEnvironment.ts +59 -13
- package/src/core/PromiseWrapper.ts +14 -7
- package/src/core/areEqualWithDeepComparison.ts +5 -0
- package/src/core/brand.ts +18 -0
- package/src/core/cache.ts +186 -91
- package/src/core/check.ts +21 -10
- package/src/core/componentCache.ts +8 -4
- package/src/core/entrypoint.ts +35 -6
- package/src/core/garbageCollection.ts +61 -19
- package/src/core/logging.ts +15 -3
- package/src/core/makeNetworkRequest.ts +307 -74
- package/src/core/optimisticProxy.ts +563 -0
- package/src/core/read.ts +233 -163
- package/src/core/reader.ts +11 -7
- package/src/core/startUpdate.ts +47 -32
- package/src/index.ts +2 -1
- package/src/loadable-hooks/useClientSideDefer.ts +76 -26
- package/src/loadable-hooks/useConnectionSpecPagination.ts +34 -17
- package/src/loadable-hooks/useImperativeLoadableField.ts +2 -2
- package/src/loadable-hooks/useSkipLimitPagination.ts +2 -3
- package/src/react/FragmentReader.tsx +3 -1
- package/src/react/FragmentRenderer.tsx +8 -1
- package/src/react/LoadableFieldReader.tsx +123 -12
- package/src/react/LoadableFieldRenderer.tsx +122 -12
- package/src/react/useImperativeReference.ts +20 -11
- package/src/react/useLazyReference.ts +17 -6
- package/src/react/useReadAndSubscribe.ts +1 -8
- package/src/react/useResult.ts +9 -11
- package/src/tests/__isograph/Node/__link/output_type.ts +3 -0
- package/src/tests/__isograph/Node/asEconomist/resolver_reader.ts +3 -3
- package/src/tests/__isograph/Query/linkedUpdate/entrypoint.ts +3 -1
- package/src/tests/__isograph/Query/linkedUpdate/param_type.ts +4 -4
- package/src/tests/__isograph/Query/linkedUpdate/raw_response_type.ts +13 -0
- package/src/tests/__isograph/Query/linkedUpdate/resolver_reader.ts +6 -6
- package/src/tests/__isograph/Query/meName/entrypoint.ts +3 -1
- package/src/tests/__isograph/Query/meName/raw_response_type.ts +7 -0
- package/src/tests/__isograph/Query/meName/resolver_reader.ts +2 -2
- package/src/tests/__isograph/Query/meNameSuccessor/entrypoint.ts +3 -1
- package/src/tests/__isograph/Query/meNameSuccessor/raw_response_type.ts +14 -0
- package/src/tests/__isograph/Query/meNameSuccessor/resolver_reader.ts +4 -4
- package/src/tests/__isograph/Query/nodeField/entrypoint.ts +3 -1
- package/src/tests/__isograph/Query/nodeField/raw_response_type.ts +7 -0
- package/src/tests/__isograph/Query/nodeField/resolver_reader.ts +2 -2
- package/src/tests/__isograph/Query/normalizeUndefinedField/entrypoint.ts +33 -0
- package/src/tests/__isograph/Query/normalizeUndefinedField/normalization_ast.ts +25 -0
- package/src/tests/__isograph/Query/normalizeUndefinedField/output_type.ts +3 -0
- package/src/tests/__isograph/Query/normalizeUndefinedField/param_type.ts +9 -0
- package/src/tests/__isograph/Query/normalizeUndefinedField/query_text.ts +6 -0
- package/src/tests/__isograph/Query/normalizeUndefinedField/raw_response_type.ts +7 -0
- package/src/tests/__isograph/Query/normalizeUndefinedField/resolver_reader.ts +38 -0
- package/src/tests/__isograph/Query/startUpdate/entrypoint.ts +3 -1
- package/src/tests/__isograph/Query/startUpdate/raw_response_type.ts +8 -0
- package/src/tests/__isograph/Query/startUpdate/resolver_reader.ts +3 -3
- package/src/tests/__isograph/Query/subquery/entrypoint.ts +3 -1
- package/src/tests/__isograph/Query/subquery/raw_response_type.ts +9 -0
- package/src/tests/__isograph/Query/subquery/resolver_reader.ts +3 -3
- package/src/tests/__isograph/iso.ts +11 -1
- package/src/tests/garbageCollection.test.ts +8 -5
- package/src/tests/meNameSuccessor.ts +6 -3
- package/src/tests/nodeQuery.ts +4 -2
- package/src/tests/normalizeData.test.ts +89 -15
- package/src/tests/optimisticProxy.test.ts +860 -0
- package/src/tests/startUpdate.test.ts +8 -6
- package/vitest.config.ts +10 -1
- package/src/tests/__isograph/Economist/link/output_type.ts +0 -2
- package/src/tests/__isograph/Node/link/output_type.ts +0 -3
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,aAAa,EACb,KAAK,aAAa,EAClB,yBAAyB,EACzB,KAAK,oBAAoB,GAC1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,KAAK,cAAc,EACnB,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,KAAK,YAAY,EACjB,KAAK,MAAM,EACX,KAAK,QAAQ,EACb,KAAK,MAAM,EACX,OAAO,GACR,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,iBAAiB,EACjB,SAAS,EACT,aAAa,EACb,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAC/B,KAAK,cAAc,GACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EACL,OAAO,EACP,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,aAAa,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useImperativeLoadableField = exports.useConnectionSpecPagination = exports.useSkipLimitPagination = exports.useImperativeExposedMutationField = exports.useClientSideDefer = exports.RenderAfterCommit__DO_NOT_USE = exports.useRerenderOnChange = exports.useLazyReference = exports.useSubscribeToMultiple = exports.useReadAndSubscribe = exports.useResult = exports.LoadableFieldRenderer = exports.LoadableFieldReader = exports.FragmentReader = exports.FragmentRenderer = exports.useImperativeReference = exports.useIsographEnvironment = exports.IsographEnvironmentProvider = exports.check = exports.registerLogger = exports.logMessage = exports.stableIdForFragmentReference = exports.readButDoNotEvaluate = exports.assertIsEntrypoint = exports.createIsographStore = exports.createIsographEnvironment = exports.ROOT_ID = exports.makeNetworkRequest = exports.normalizeData = exports.subscribe = exports.callSubscriptions = exports.NOT_SET = exports.wrapPromise = exports.wrapResolvedValue = exports.getPromiseState = exports.readPromise = exports.garbageCollectEnvironment = exports.unretainQuery = exports.retainQuery = void 0;
|
|
3
|
+
exports.useImperativeLoadableField = exports.useConnectionSpecPagination = exports.useSkipLimitPagination = exports.useImperativeExposedMutationField = exports.useClientSideDefer = exports.RenderAfterCommit__DO_NOT_USE = exports.useRerenderOnChange = exports.useLazyReference = exports.useSubscribeToMultiple = exports.useReadAndSubscribe = exports.useResult = exports.LoadableFieldRenderer = exports.LoadableFieldReader = exports.FragmentReader = exports.FragmentRenderer = exports.useImperativeReference = exports.useIsographEnvironment = exports.IsographEnvironmentProvider = exports.check = exports.registerLogger = exports.logMessage = exports.stableIdForFragmentReference = exports.readButDoNotEvaluate = exports.assertIsEntrypoint = exports.createIsographStore = exports.createIsographEnvironment = exports.ROOT_ID = exports.makeNetworkRequest = exports.writeData = exports.normalizeData = exports.subscribe = exports.callSubscriptions = exports.NOT_SET = exports.wrapPromise = exports.wrapResolvedValue = exports.getPromiseState = exports.readPromise = exports.garbageCollectEnvironment = exports.unretainQuery = exports.retainQuery = void 0;
|
|
4
4
|
var garbageCollection_1 = require("./core/garbageCollection");
|
|
5
5
|
Object.defineProperty(exports, "retainQuery", { enumerable: true, get: function () { return garbageCollection_1.retainQuery; } });
|
|
6
6
|
Object.defineProperty(exports, "unretainQuery", { enumerable: true, get: function () { return garbageCollection_1.unretainQuery; } });
|
|
@@ -15,6 +15,7 @@ var cache_1 = require("./core/cache");
|
|
|
15
15
|
Object.defineProperty(exports, "callSubscriptions", { enumerable: true, get: function () { return cache_1.callSubscriptions; } });
|
|
16
16
|
Object.defineProperty(exports, "subscribe", { enumerable: true, get: function () { return cache_1.subscribe; } });
|
|
17
17
|
Object.defineProperty(exports, "normalizeData", { enumerable: true, get: function () { return cache_1.normalizeData; } });
|
|
18
|
+
Object.defineProperty(exports, "writeData", { enumerable: true, get: function () { return cache_1.writeData; } });
|
|
18
19
|
var makeNetworkRequest_1 = require("./core/makeNetworkRequest");
|
|
19
20
|
Object.defineProperty(exports, "makeNetworkRequest", { enumerable: true, get: function () { return makeNetworkRequest_1.makeNetworkRequest; } });
|
|
20
21
|
var IsographEnvironment_1 = require("./core/IsographEnvironment");
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import { FetchOptions } from '../core/check';
|
|
2
2
|
import { ExtractParameters, FragmentReference, type UnknownTReadFromStore } from '../core/FragmentReference';
|
|
3
3
|
import { LoadableField } from '../core/reader';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
type ArgsWithoutProvidedArgs<TReadFromStore extends UnknownTReadFromStore, TProvidedArgs extends object> = Omit<ExtractParameters<TReadFromStore>, keyof TProvidedArgs>;
|
|
5
|
+
export declare function useClientSideDefer<TReadFromStore extends UnknownTReadFromStore, TResult, TProvidedArgs extends object>(loadableField: LoadableField<TReadFromStore, TResult, Omit<ExtractParameters<TReadFromStore>, keyof TProvidedArgs>>, ...maybeRequiredArgs: {} extends ArgsWithoutProvidedArgs<TReadFromStore, TProvidedArgs> ? [
|
|
6
|
+
args?: ArgsWithoutProvidedArgs<TReadFromStore, TProvidedArgs>,
|
|
7
|
+
fetchOptions?: FetchOptions<TResult, never>
|
|
8
|
+
] : [
|
|
9
|
+
args: ArgsWithoutProvidedArgs<TReadFromStore, TProvidedArgs>,
|
|
10
|
+
fetchOptions?: FetchOptions<TResult, never>
|
|
11
|
+
]): {
|
|
8
12
|
fragmentReference: FragmentReference<TReadFromStore, TResult>;
|
|
9
13
|
};
|
|
14
|
+
export {};
|
|
10
15
|
//# sourceMappingURL=useClientSideDefer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useClientSideDefer.d.ts","sourceRoot":"","sources":["../../src/loadable-hooks/useClientSideDefer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,qBAAqB,EAC3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAG/C,
|
|
1
|
+
{"version":3,"file":"useClientSideDefer.d.ts","sourceRoot":"","sources":["../../src/loadable-hooks/useClientSideDefer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,qBAAqB,EAC3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAG/C,KAAK,uBAAuB,CAC1B,cAAc,SAAS,qBAAqB,EAC5C,aAAa,SAAS,MAAM,IAC1B,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE,MAAM,aAAa,CAAC,CAAC;AAEjE,wBAAgB,kBAAkB,CAChC,cAAc,SAAS,qBAAqB,EAC5C,OAAO,EACP,aAAa,SAAS,MAAM,EAE5B,aAAa,EAAE,aAAa,CAC1B,cAAc,EACd,OAAO,EACP,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE,MAAM,aAAa,CAAC,CAC7D,EACD,GAAG,iBAAiB,EAAE,EAAE,SAAS,uBAAuB,CACtD,cAAc,EACd,aAAa,CACd,GACG;IACE,IAAI,CAAC,EAAE,uBAAuB,CAAC,cAAc,EAAE,aAAa,CAAC;IAC7D,YAAY,CAAC,EAAE,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC;CAC5C,GACD;IACE,IAAI,EAAE,uBAAuB,CAAC,cAAc,EAAE,aAAa,CAAC;IAC5D,YAAY,CAAC,EAAE,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC;CAC5C,GACJ;IAAE,iBAAiB,EAAE,iBAAiB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;CAAE,CAUnE"}
|
|
@@ -4,10 +4,43 @@ exports.useClientSideDefer = useClientSideDefer;
|
|
|
4
4
|
const react_disposable_state_1 = require("@isograph/react-disposable-state");
|
|
5
5
|
const cache_1 = require("../core/cache");
|
|
6
6
|
const IsographEnvironmentProvider_1 = require("../react/IsographEnvironmentProvider");
|
|
7
|
-
function useClientSideDefer(loadableField,
|
|
7
|
+
function useClientSideDefer(loadableField, ...maybeRequiredArgs) {
|
|
8
|
+
const [args, fetchOptions] = maybeRequiredArgs;
|
|
8
9
|
const [id, loader] = loadableField(args, fetchOptions !== null && fetchOptions !== void 0 ? fetchOptions : {});
|
|
9
10
|
const environment = (0, IsographEnvironmentProvider_1.useIsographEnvironment)();
|
|
10
11
|
const cache = (0, cache_1.getOrCreateItemInSuspenseCache)(environment, id, loader);
|
|
11
12
|
const fragmentReference = (0, react_disposable_state_1.useLazyDisposableState)(cache).state;
|
|
12
13
|
return { fragmentReference };
|
|
13
14
|
}
|
|
15
|
+
// @ts-ignore
|
|
16
|
+
function tsTests() {
|
|
17
|
+
let neverArgs;
|
|
18
|
+
let optionalArgs;
|
|
19
|
+
let requiredArgs;
|
|
20
|
+
useClientSideDefer(neverArgs);
|
|
21
|
+
useClientSideDefer(neverArgs, {});
|
|
22
|
+
useClientSideDefer(neverArgs, {
|
|
23
|
+
// @ts-expect-error
|
|
24
|
+
foo: 'bar',
|
|
25
|
+
});
|
|
26
|
+
useClientSideDefer(optionalArgs);
|
|
27
|
+
useClientSideDefer(optionalArgs, {});
|
|
28
|
+
useClientSideDefer(optionalArgs, {
|
|
29
|
+
foo: 'bar',
|
|
30
|
+
});
|
|
31
|
+
useClientSideDefer(optionalArgs, {
|
|
32
|
+
// @ts-expect-error
|
|
33
|
+
foo: 12,
|
|
34
|
+
});
|
|
35
|
+
// @ts-expect-error
|
|
36
|
+
useClientSideDefer(requiredArgs);
|
|
37
|
+
// @ts-expect-error
|
|
38
|
+
useClientSideDefer(requiredArgs, {});
|
|
39
|
+
useClientSideDefer(requiredArgs, {
|
|
40
|
+
foo: 'bar',
|
|
41
|
+
});
|
|
42
|
+
useClientSideDefer(requiredArgs, {
|
|
43
|
+
// @ts-expect-error
|
|
44
|
+
foo: 12,
|
|
45
|
+
});
|
|
46
|
+
}
|
|
@@ -6,10 +6,12 @@ export type UsePaginationReturnValue<TReadFromStore extends UnknownTReadFromStor
|
|
|
6
6
|
pendingFragment: FragmentReference<TReadFromStore, Connection<TItem>>;
|
|
7
7
|
results: ReadonlyArray<TItem>;
|
|
8
8
|
} | {
|
|
9
|
-
kind: '
|
|
10
|
-
fetchMore: (count: number, fetchOptions?: FetchOptions<Connection<TItem
|
|
9
|
+
kind: 'HasMoreRecords';
|
|
10
|
+
fetchMore: (count: number, fetchOptions?: FetchOptions<Connection<TItem>, never>) => void;
|
|
11
|
+
results: ReadonlyArray<TItem>;
|
|
12
|
+
} | {
|
|
13
|
+
kind: 'NoMoreRecords';
|
|
11
14
|
results: ReadonlyArray<TItem>;
|
|
12
|
-
hasNextPage: boolean;
|
|
13
15
|
};
|
|
14
16
|
export type PageInfo = {
|
|
15
17
|
readonly hasNextPage: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useConnectionSpecPagination.d.ts","sourceRoot":"","sources":["../../src/loadable-hooks/useConnectionSpecPagination.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EACL,iBAAiB,EACjB,KAAK,qBAAqB,EAC3B,MAAM,2BAA2B,CAAC;AAMnC,OAAO,EAAE,aAAa,EAAkB,MAAM,gBAAgB,CAAC;AAM/D,MAAM,MAAM,wBAAwB,CAClC,cAAc,SAAS,qBAAqB,EAC5C,KAAK,IAEH;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,eAAe,EAAE,iBAAiB,CAAC,cAAc,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACtE,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;CAC/B,GACD;IACE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"useConnectionSpecPagination.d.ts","sourceRoot":"","sources":["../../src/loadable-hooks/useConnectionSpecPagination.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EACL,iBAAiB,EACjB,KAAK,qBAAqB,EAC3B,MAAM,2BAA2B,CAAC;AAMnC,OAAO,EAAE,aAAa,EAAkB,MAAM,gBAAgB,CAAC;AAM/D,MAAM,MAAM,wBAAwB,CAClC,cAAc,SAAS,qBAAqB,EAC5C,KAAK,IAEH;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,eAAe,EAAE,iBAAiB,CAAC,cAAc,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACtE,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;CAC/B,GACD;IACE,IAAI,EAAE,gBAAgB,CAAC;IACvB,SAAS,EAAE,CACT,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,KAClD,IAAI,CAAC;IACV,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;CAC/B,GACD;IACE,IAAI,EAAE,eAAe,CAAC;IACtB,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;CAC/B,CAAC;AAwBN,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAC1B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC7B,CAAC;AAOF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,CAAC;AAEF,wBAAgB,2BAA2B,CACzC,cAAc,SAAS,qBAAqB,EAC5C,KAAK,EAEL,aAAa,EAAE,aAAa,CAC1B,cAAc,EACd,UAAU,CAAC,KAAK,CAAC,EACjB,+BAA+B,CAChC,EACD,YAAY,CAAC,EAAE,QAAQ,GACtB,wBAAwB,CAAC,cAAc,EAAE,KAAK,CAAC,CAoQjD"}
|
|
@@ -42,7 +42,7 @@ function useConnectionSpecPagination(loadableField, initialState) {
|
|
|
42
42
|
}
|
|
43
43
|
const firstParameter = Object.assign({ data, parameters: fragmentReference.variables }, (readerWithRefetchQueries.readerArtifact.hasUpdatable
|
|
44
44
|
? {
|
|
45
|
-
startUpdate: (0, startUpdate_1.getOrCreateCachedStartUpdate)(environment, fragmentReference,
|
|
45
|
+
startUpdate: (0, startUpdate_1.getOrCreateCachedStartUpdate)(environment, fragmentReference, networkRequestOptions),
|
|
46
46
|
}
|
|
47
47
|
: undefined));
|
|
48
48
|
if (readerWithRefetchQueries.readerArtifact.kind !== 'EagerReaderArtifact') {
|
|
@@ -126,12 +126,19 @@ function useConnectionSpecPagination(loadableField, initialState) {
|
|
|
126
126
|
const readOutDataAndRecords = completedFragmentReferences.map((fragmentReference) => (0, read_1.readButDoNotEvaluate)(environment, fragmentReference, networkRequestOptions));
|
|
127
127
|
(0, useReadAndSubscribe_1.useSubscribeToMultiple)(subscribeCompletedFragmentReferences(completedFragmentReferences));
|
|
128
128
|
if (!networkRequestStatus) {
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
129
|
+
if ((_a = initialState === null || initialState === void 0 ? void 0 : initialState.hasNextPage) !== null && _a !== void 0 ? _a : true) {
|
|
130
|
+
return {
|
|
131
|
+
kind: 'HasMoreRecords',
|
|
132
|
+
fetchMore: getFetchMore((_b = initialState === null || initialState === void 0 ? void 0 : initialState.endCursor) !== null && _b !== void 0 ? _b : null),
|
|
133
|
+
results: [],
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
return {
|
|
138
|
+
kind: 'NoMoreRecords',
|
|
139
|
+
results: [],
|
|
140
|
+
};
|
|
141
|
+
}
|
|
135
142
|
}
|
|
136
143
|
switch (networkRequestStatus.kind) {
|
|
137
144
|
case 'Pending': {
|
|
@@ -151,12 +158,19 @@ function useConnectionSpecPagination(loadableField, initialState) {
|
|
|
151
158
|
}
|
|
152
159
|
case 'Ok': {
|
|
153
160
|
const results = readCompletedFragmentReferences(completedFragmentReferences);
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
161
|
+
if (results.pageInfo.hasNextPage) {
|
|
162
|
+
return {
|
|
163
|
+
kind: 'HasMoreRecords',
|
|
164
|
+
fetchMore: getFetchMore(results.pageInfo.endCursor),
|
|
165
|
+
results: results.edges,
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
169
|
+
return {
|
|
170
|
+
kind: 'NoMoreRecords',
|
|
171
|
+
results: results.edges,
|
|
172
|
+
};
|
|
173
|
+
}
|
|
160
174
|
}
|
|
161
175
|
}
|
|
162
176
|
}
|
|
@@ -6,7 +6,7 @@ export type UseImperativeLoadableFieldReturn<TReadFromStore extends {
|
|
|
6
6
|
parameters: object;
|
|
7
7
|
}, TResult, TProvidedArgs extends object> = {
|
|
8
8
|
fragmentReference: FragmentReference<TReadFromStore, TResult> | null;
|
|
9
|
-
loadFragmentReference: (args: Omit<ExtractParameters<TReadFromStore>, keyof TProvidedArgs> | void, fetchOptions?: FetchOptions<TResult>) => void;
|
|
9
|
+
loadFragmentReference: (args: Omit<ExtractParameters<TReadFromStore>, keyof TProvidedArgs> | void, fetchOptions?: FetchOptions<TResult, never>) => void;
|
|
10
10
|
};
|
|
11
11
|
export declare function useImperativeLoadableField<TReadFromStore extends {
|
|
12
12
|
data: object;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useImperativeLoadableField.d.ts","sourceRoot":"","sources":["../../src/loadable-hooks/useImperativeLoadableField.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,MAAM,gCAAgC,CAC1C,cAAc,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,EAC3D,OAAO,EACP,aAAa,SAAS,MAAM,IAC1B;IACF,iBAAiB,EAAE,iBAAiB,CAAC,cAAc,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACrE,qBAAqB,EAAE,CAGrB,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE,MAAM,aAAa,CAAC,GAAG,IAAI,EACzE,YAAY,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"useImperativeLoadableField.d.ts","sourceRoot":"","sources":["../../src/loadable-hooks/useImperativeLoadableField.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,MAAM,gCAAgC,CAC1C,cAAc,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,EAC3D,OAAO,EACP,aAAa,SAAS,MAAM,IAC1B;IACF,iBAAiB,EAAE,iBAAiB,CAAC,cAAc,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACrE,qBAAqB,EAAE,CAGrB,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE,MAAM,aAAa,CAAC,GAAG,IAAI,EACzE,YAAY,CAAC,EAAE,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,KACxC,IAAI,CAAC;CACX,CAAC;AAEF,wBAAgB,0BAA0B,CACxC,cAAc,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,EAC3D,OAAO,EACP,aAAa,SAAS,MAAM,EAE5B,aAAa,EAAE,aAAa,CAC1B,cAAc,EACd,OAAO,EACP,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE,MAAM,aAAa,CAAC,CAC7D,GACA,gCAAgC,CAAC,cAAc,EAAE,OAAO,EAAE,aAAa,CAAC,CAc1E"}
|
|
@@ -3,7 +3,7 @@ import { FragmentReference, type UnknownTReadFromStore } from '../core/FragmentR
|
|
|
3
3
|
import { LoadableField } from '../core/reader';
|
|
4
4
|
export type UseSkipLimitReturnValue<TReadFromStore extends UnknownTReadFromStore, TItem> = {
|
|
5
5
|
readonly kind: 'Complete';
|
|
6
|
-
readonly fetchMore: (count: number, fetchOptions?: FetchOptions<ReadonlyArray<TItem
|
|
6
|
+
readonly fetchMore: (count: number, fetchOptions?: FetchOptions<ReadonlyArray<TItem>, never>) => void;
|
|
7
7
|
readonly results: ReadonlyArray<TItem>;
|
|
8
8
|
} | {
|
|
9
9
|
readonly kind: 'Pending';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSkipLimitPagination.d.ts","sourceRoot":"","sources":["../../src/loadable-hooks/useSkipLimitPagination.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EACL,iBAAiB,EACjB,KAAK,qBAAqB,EAC3B,MAAM,2BAA2B,CAAC;AAMnC,OAAO,EAAE,aAAa,EAAkB,MAAM,gBAAgB,CAAC;AAM/D,MAAM,MAAM,uBAAuB,CACjC,cAAc,SAAS,qBAAqB,EAC5C,KAAK,IAEH;IACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,CAClB,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"useSkipLimitPagination.d.ts","sourceRoot":"","sources":["../../src/loadable-hooks/useSkipLimitPagination.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EACL,iBAAiB,EACjB,KAAK,qBAAqB,EAC3B,MAAM,2BAA2B,CAAC;AAMnC,OAAO,EAAE,aAAa,EAAkB,MAAM,gBAAgB,CAAC;AAM/D,MAAM,MAAM,uBAAuB,CACjC,cAAc,SAAS,qBAAqB,EAC5C,KAAK,IAEH;IACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,CAClB,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,KACrD,IAAI,CAAC;IACV,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;CACxC,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IACvC,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CACzC,cAAc,EACd,aAAa,CAAC,KAAK,CAAC,CACrB,CAAC;CACH,CAAC;AA6BN,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,wBAAgB,sBAAsB,CACpC,KAAK,EACL,cAAc,SAAS,qBAAqB,EAE5C,aAAa,EAAE,aAAa,CAC1B,cAAc,EACd,aAAa,CAAC,KAAK,CAAC,EACpB,0BAA0B,CAC3B,EACD,YAAY,CAAC,EAAE;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;CAC7B,GACA,uBAAuB,CAAC,cAAc,EAAE,KAAK,CAAC,CA2OhD"}
|
|
@@ -41,7 +41,7 @@ function useSkipLimitPagination(loadableField, initialState) {
|
|
|
41
41
|
}
|
|
42
42
|
const firstParameter = Object.assign({ data, parameters: fragmentReference.variables }, (readerWithRefetchQueries.readerArtifact.hasUpdatable
|
|
43
43
|
? {
|
|
44
|
-
startUpdate: (0, startUpdate_1.getOrCreateCachedStartUpdate)(environment, fragmentReference,
|
|
44
|
+
startUpdate: (0, startUpdate_1.getOrCreateCachedStartUpdate)(environment, fragmentReference, networkRequestOptions),
|
|
45
45
|
}
|
|
46
46
|
: undefined));
|
|
47
47
|
if (readerWithRefetchQueries.readerArtifact.kind !== 'EagerReaderArtifact') {
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import type { NetworkResponseObject } from '../core/cache';
|
|
1
2
|
import { type ExtractReadFromStore, type IsographEntrypoint } from '../core/entrypoint';
|
|
2
3
|
import { type FragmentReference } from '../core/FragmentReference';
|
|
3
4
|
import { type NetworkRequestReaderOptions } from '../core/read';
|
|
4
|
-
export declare function FragmentReader<TResult, TEntrypoint extends IsographEntrypoint<any, TResult, any>, TChildrenResult>({ fragmentReference, networkRequestOptions, children, }: {
|
|
5
|
+
export declare function FragmentReader<TResult, TRawResponseType extends NetworkResponseObject, TEntrypoint extends IsographEntrypoint<any, TResult, any, TRawResponseType>, TChildrenResult>({ fragmentReference, networkRequestOptions, children, }: {
|
|
5
6
|
fragmentReference: FragmentReference<ExtractReadFromStore<TEntrypoint>, TResult>;
|
|
6
7
|
networkRequestOptions?: Partial<NetworkRequestReaderOptions>;
|
|
7
8
|
children: (data: TResult) => TChildrenResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FragmentReader.d.ts","sourceRoot":"","sources":["../../src/react/FragmentReader.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAGhE,wBAAgB,cAAc,CAC5B,OAAO,EACP,WAAW,SAAS,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"FragmentReader.d.ts","sourceRoot":"","sources":["../../src/react/FragmentReader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAGhE,wBAAgB,cAAc,CAC5B,OAAO,EACP,gBAAgB,SAAS,qBAAqB,EAC9C,WAAW,SAAS,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,gBAAgB,CAAC,EAC3E,eAAe,EACf,EACA,iBAAiB,EACjB,qBAAqB,EACrB,QAAQ,GACT,EAAE;IACD,iBAAiB,EAAE,iBAAiB,CAClC,oBAAoB,CAAC,WAAW,CAAC,EACjC,OAAO,CACR,CAAC;IACF,qBAAqB,CAAC,EAAE,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAC7D,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,eAAe,CAAC;CAC9C,GAAG,eAAe,CAGlB"}
|
|
@@ -2,8 +2,9 @@ import * as React from 'react';
|
|
|
2
2
|
import { type ExtractReadFromStore, type IsographEntrypoint } from '../core/entrypoint';
|
|
3
3
|
import { type FragmentReference } from '../core/FragmentReference';
|
|
4
4
|
import { type NetworkRequestReaderOptions } from '../core/read';
|
|
5
|
+
import type { NetworkResponseObject } from '../core/cache';
|
|
5
6
|
export type IsExactlyIntrinsicAttributes<T> = T extends JSX.IntrinsicAttributes ? JSX.IntrinsicAttributes extends T ? true : false : false;
|
|
6
|
-
export declare function FragmentRenderer<TProps extends Record<any, any>, TEntrypoint extends IsographEntrypoint<any, React.FC<TProps>, any>>(props: IsExactlyIntrinsicAttributes<TProps> extends true ? {
|
|
7
|
+
export declare function FragmentRenderer<TProps extends Record<any, any>, TRawResponseType extends NetworkResponseObject, TEntrypoint extends IsographEntrypoint<any, React.FC<TProps>, any, TRawResponseType>>(props: IsExactlyIntrinsicAttributes<TProps> extends true ? {
|
|
7
8
|
fragmentReference: FragmentReference<ExtractReadFromStore<TEntrypoint>, React.FC<TProps>>;
|
|
8
9
|
additionalProps?: Record<PropertyKey, never>;
|
|
9
10
|
networkRequestOptions?: Partial<NetworkRequestReaderOptions>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FragmentRenderer.d.ts","sourceRoot":"","sources":["../../src/react/FragmentRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"FragmentRenderer.d.ts","sourceRoot":"","sources":["../../src/react/FragmentRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAEhE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAE3D,MAAM,MAAM,4BAA4B,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,mBAAmB,GAC3E,GAAG,CAAC,mBAAmB,SAAS,CAAC,GAC/B,IAAI,GACJ,KAAK,GACP,KAAK,CAAC;AAEV,wBAAgB,gBAAgB,CAC9B,MAAM,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAC/B,gBAAgB,SAAS,qBAAqB,EAC9C,WAAW,SAAS,kBAAkB,CACpC,GAAG,EACH,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,EAChB,GAAG,EACH,gBAAgB,CACjB,EAED,KAAK,EAAE,4BAA4B,CAAC,MAAM,CAAC,SAAS,IAAI,GACpD;IACE,iBAAiB,EAAE,iBAAiB,CAClC,oBAAoB,CAAC,WAAW,CAAC,EACjC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,CACjB,CAAC;IACF,eAAe,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAC7C,qBAAqB,CAAC,EAAE,OAAO,CAAC,2BAA2B,CAAC,CAAC;CAC9D,GACD;IACE,iBAAiB,EAAE,iBAAiB,CAClC,oBAAoB,CAAC,WAAW,CAAC,EACjC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,CACjB,CAAC;IACF,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAC7D,qBAAqB,CAAC,EAAE,OAAO,CAAC,2BAA2B,CAAC,CAAC;CAC9D,GACJ,KAAK,CAAC,SAAS,CASjB"}
|
|
@@ -2,11 +2,17 @@ import { type FetchOptions } from '../core/check';
|
|
|
2
2
|
import { ExtractParameters, type UnknownTReadFromStore } from '../core/FragmentReference';
|
|
3
3
|
import { type NetworkRequestReaderOptions } from '../core/read';
|
|
4
4
|
import { type LoadableField } from '../core/reader';
|
|
5
|
+
type ArgsWithoutProvidedArgs<TReadFromStore extends UnknownTReadFromStore, TProvidedArgs extends object> = Omit<ExtractParameters<TReadFromStore>, keyof TProvidedArgs>;
|
|
6
|
+
type MaybeRequiredArgs<TReadFromStore extends UnknownTReadFromStore, TProvidedArgs extends object> = {} extends ArgsWithoutProvidedArgs<TReadFromStore, TProvidedArgs> ? {
|
|
7
|
+
args?: ArgsWithoutProvidedArgs<TReadFromStore, TProvidedArgs>;
|
|
8
|
+
} : {
|
|
9
|
+
args: ArgsWithoutProvidedArgs<TReadFromStore, TProvidedArgs>;
|
|
10
|
+
};
|
|
5
11
|
export declare function LoadableFieldReader<TReadFromStore extends UnknownTReadFromStore, TResult, TProvidedArgs extends object, TChildrenResult>(props: {
|
|
6
12
|
loadableField: LoadableField<TReadFromStore, TResult, Omit<ExtractParameters<TReadFromStore>, keyof TProvidedArgs>>;
|
|
7
|
-
|
|
8
|
-
fetchOptions?: FetchOptions<TResult>;
|
|
13
|
+
fetchOptions?: FetchOptions<TResult, never>;
|
|
9
14
|
networkRequestOptions?: Partial<NetworkRequestReaderOptions>;
|
|
10
15
|
children: (arg: TResult) => TChildrenResult;
|
|
11
|
-
}): TChildrenResult;
|
|
16
|
+
} & MaybeRequiredArgs<TReadFromStore, TProvidedArgs>): TChildrenResult;
|
|
17
|
+
export {};
|
|
12
18
|
//# sourceMappingURL=LoadableFieldReader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoadableFieldReader.d.ts","sourceRoot":"","sources":["../../src/react/LoadableFieldReader.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LoadableFieldReader.d.ts","sourceRoot":"","sources":["../../src/react/LoadableFieldReader.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EACL,iBAAiB,EACjB,KAAK,qBAAqB,EAC3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAIpD,KAAK,uBAAuB,CAC1B,cAAc,SAAS,qBAAqB,EAC5C,aAAa,SAAS,MAAM,IAC1B,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE,MAAM,aAAa,CAAC,CAAC;AAEjE,KAAK,iBAAiB,CACpB,cAAc,SAAS,qBAAqB,EAC5C,aAAa,SAAS,MAAM,IAE5B,EAAE,SAAS,uBAAuB,CAAC,cAAc,EAAE,aAAa,CAAC,GAC7D;IACE,IAAI,CAAC,EAAE,uBAAuB,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;CAC/D,GACD;IACE,IAAI,EAAE,uBAAuB,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;CAC9D,CAAC;AAER,wBAAgB,mBAAmB,CACjC,cAAc,SAAS,qBAAqB,EAC5C,OAAO,EACP,aAAa,SAAS,MAAM,EAC5B,eAAe,EAEf,KAAK,EAAE;IACL,aAAa,EAAE,aAAa,CAC1B,cAAc,EACd,OAAO,EACP,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE,MAAM,aAAa,CAAC,CAC7D,CAAC;IACF,YAAY,CAAC,EAAE,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC5C,qBAAqB,CAAC,EAAE,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAC7D,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,eAAe,CAAC;CAC7C,GAAG,iBAAiB,CAAC,cAAc,EAAE,aAAa,CAAC,GACnD,eAAe,CAcjB"}
|
|
@@ -1,10 +1,49 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.LoadableFieldReader = LoadableFieldReader;
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
4
8
|
const useClientSideDefer_1 = require("../loadable-hooks/useClientSideDefer");
|
|
5
9
|
const useResult_1 = require("./useResult");
|
|
6
10
|
function LoadableFieldReader(props) {
|
|
7
|
-
const { fragmentReference } = (0, useClientSideDefer_1.useClientSideDefer)(props.loadableField,
|
|
11
|
+
const { fragmentReference } = (0, useClientSideDefer_1.useClientSideDefer)(props.loadableField,
|
|
12
|
+
// @ts-expect-error
|
|
13
|
+
props.args, props.fetchOptions);
|
|
8
14
|
const readOutFragmentData = (0, useResult_1.useResult)(fragmentReference, props.networkRequestOptions);
|
|
9
15
|
return props.children(readOutFragmentData);
|
|
10
16
|
}
|
|
17
|
+
// @ts-ignore
|
|
18
|
+
function tsTests() {
|
|
19
|
+
let neverArgs;
|
|
20
|
+
let optionalArgs;
|
|
21
|
+
let requiredArgs;
|
|
22
|
+
react_1.default.createElement(LoadableFieldReader, { loadableField: neverArgs, children: () => { } });
|
|
23
|
+
react_1.default.createElement(LoadableFieldReader, { loadableField: neverArgs, children: () => { }, args: {} });
|
|
24
|
+
react_1.default.createElement(LoadableFieldReader, { loadableField: neverArgs, children: () => { }, args: {
|
|
25
|
+
// @ts-expect-error
|
|
26
|
+
foo: 'bar',
|
|
27
|
+
} });
|
|
28
|
+
react_1.default.createElement(LoadableFieldReader, { loadableField: optionalArgs, children: () => { } });
|
|
29
|
+
react_1.default.createElement(LoadableFieldReader, { loadableField: optionalArgs, children: () => { }, args: {} });
|
|
30
|
+
react_1.default.createElement(LoadableFieldReader, { loadableField: optionalArgs, children: () => { }, args: {
|
|
31
|
+
foo: 'bar',
|
|
32
|
+
} });
|
|
33
|
+
react_1.default.createElement(LoadableFieldReader, { loadableField: optionalArgs, children: () => { }, args: {
|
|
34
|
+
// @ts-expect-error
|
|
35
|
+
foo: 12,
|
|
36
|
+
} });
|
|
37
|
+
// @ts-expect-error
|
|
38
|
+
react_1.default.createElement(LoadableFieldReader, { loadableField: requiredArgs, children: () => { } });
|
|
39
|
+
react_1.default.createElement(LoadableFieldReader, { loadableField: requiredArgs, children: () => { },
|
|
40
|
+
// @ts-expect-error
|
|
41
|
+
args: {} });
|
|
42
|
+
react_1.default.createElement(LoadableFieldReader, { loadableField: requiredArgs, children: () => { }, args: {
|
|
43
|
+
foo: 'bar',
|
|
44
|
+
} });
|
|
45
|
+
react_1.default.createElement(LoadableFieldReader, { loadableField: requiredArgs, children: () => { }, args: {
|
|
46
|
+
// @ts-expect-error
|
|
47
|
+
foo: 12,
|
|
48
|
+
} });
|
|
49
|
+
}
|
|
@@ -3,11 +3,17 @@ import { type FetchOptions } from '../core/check';
|
|
|
3
3
|
import { ExtractParameters, type UnknownTReadFromStore } from '../core/FragmentReference';
|
|
4
4
|
import { type NetworkRequestReaderOptions } from '../core/read';
|
|
5
5
|
import { type LoadableField } from '../core/reader';
|
|
6
|
+
type ArgsWithoutProvidedArgs<TReadFromStore extends UnknownTReadFromStore, TProvidedArgs extends object> = Omit<ExtractParameters<TReadFromStore>, keyof TProvidedArgs>;
|
|
7
|
+
type MaybeRequiredArgs<TReadFromStore extends UnknownTReadFromStore, TProvidedArgs extends object> = {} extends ArgsWithoutProvidedArgs<TReadFromStore, TProvidedArgs> ? {
|
|
8
|
+
args?: ArgsWithoutProvidedArgs<TReadFromStore, TProvidedArgs>;
|
|
9
|
+
} : {
|
|
10
|
+
args: ArgsWithoutProvidedArgs<TReadFromStore, TProvidedArgs>;
|
|
11
|
+
};
|
|
6
12
|
export declare function LoadableFieldRenderer<TReadFromStore extends UnknownTReadFromStore, TProvidedArgs extends object, TChildrenResult, TProps>(props: {
|
|
7
13
|
loadableField: LoadableField<TReadFromStore, React.FC<TProps>, Omit<ExtractParameters<TReadFromStore>, keyof TProvidedArgs>>;
|
|
8
|
-
|
|
9
|
-
fetchOptions?: FetchOptions<React.FC<TProps>>;
|
|
14
|
+
fetchOptions?: FetchOptions<React.FC<TProps>, never>;
|
|
10
15
|
networkRequestOptions?: Partial<NetworkRequestReaderOptions>;
|
|
11
16
|
additionalProps: Omit<TProps, keyof JSX.IntrinsicAttributes>;
|
|
12
|
-
}): TChildrenResult;
|
|
17
|
+
} & MaybeRequiredArgs<TReadFromStore, TProvidedArgs>): TChildrenResult;
|
|
18
|
+
export {};
|
|
13
19
|
//# sourceMappingURL=LoadableFieldRenderer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoadableFieldRenderer.d.ts","sourceRoot":"","sources":["../../src/react/LoadableFieldRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EACL,iBAAiB,EACjB,KAAK,qBAAqB,EAC3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAIpD,
|
|
1
|
+
{"version":3,"file":"LoadableFieldRenderer.d.ts","sourceRoot":"","sources":["../../src/react/LoadableFieldRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EACL,iBAAiB,EACjB,KAAK,qBAAqB,EAC3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAIpD,KAAK,uBAAuB,CAC1B,cAAc,SAAS,qBAAqB,EAC5C,aAAa,SAAS,MAAM,IAC1B,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE,MAAM,aAAa,CAAC,CAAC;AAEjE,KAAK,iBAAiB,CACpB,cAAc,SAAS,qBAAqB,EAC5C,aAAa,SAAS,MAAM,IAE5B,EAAE,SAAS,uBAAuB,CAAC,cAAc,EAAE,aAAa,CAAC,GAC7D;IACE,IAAI,CAAC,EAAE,uBAAuB,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;CAC/D,GACD;IACE,IAAI,EAAE,uBAAuB,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;CAC9D,CAAC;AAER,wBAAgB,qBAAqB,CACnC,cAAc,SAAS,qBAAqB,EAC5C,aAAa,SAAS,MAAM,EAC5B,eAAe,EACf,MAAM,EAEN,KAAK,EAAE;IACL,aAAa,EAAE,aAAa,CAC1B,cAAc,EACd,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,EAChB,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE,MAAM,aAAa,CAAC,CAC7D,CAAC;IACF,YAAY,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;IACrD,qBAAqB,CAAC,EAAE,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAC7D,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,mBAAmB,CAAC,CAAC;CAC9D,GAAG,iBAAiB,CAAC,cAAc,EAAE,aAAa,CAAC,GACnD,eAAe,CAcjB"}
|
|
@@ -28,10 +28,45 @@ const React = __importStar(require("react"));
|
|
|
28
28
|
const useClientSideDefer_1 = require("../loadable-hooks/useClientSideDefer");
|
|
29
29
|
const useResult_1 = require("./useResult");
|
|
30
30
|
function LoadableFieldRenderer(props) {
|
|
31
|
-
const { fragmentReference } = (0, useClientSideDefer_1.useClientSideDefer)(props.loadableField,
|
|
31
|
+
const { fragmentReference } = (0, useClientSideDefer_1.useClientSideDefer)(props.loadableField,
|
|
32
|
+
// @ts-expect-error
|
|
33
|
+
props.args, props.fetchOptions);
|
|
32
34
|
const Component = (0, useResult_1.useResult)(fragmentReference, props.networkRequestOptions);
|
|
33
35
|
// TODO we probably can figure out a way to convince TypeScript of
|
|
34
36
|
// the validity of this.
|
|
35
37
|
// @ts-expect-error
|
|
36
38
|
return React.createElement(Component, Object.assign({}, props.additionalProps));
|
|
37
39
|
}
|
|
40
|
+
// @ts-ignore
|
|
41
|
+
function tsTests() {
|
|
42
|
+
let neverArgs;
|
|
43
|
+
let optionalArgs;
|
|
44
|
+
let requiredArgs;
|
|
45
|
+
React.createElement(LoadableFieldRenderer, { loadableField: neverArgs, additionalProps: {} });
|
|
46
|
+
React.createElement(LoadableFieldRenderer, { loadableField: neverArgs, additionalProps: {}, args: {} });
|
|
47
|
+
React.createElement(LoadableFieldRenderer, { loadableField: neverArgs, additionalProps: {}, args: {
|
|
48
|
+
// @ts-expect-error
|
|
49
|
+
foo: 'bar',
|
|
50
|
+
} });
|
|
51
|
+
React.createElement(LoadableFieldRenderer, { loadableField: optionalArgs, additionalProps: {} });
|
|
52
|
+
React.createElement(LoadableFieldRenderer, { loadableField: optionalArgs, additionalProps: {}, args: {} });
|
|
53
|
+
React.createElement(LoadableFieldRenderer, { loadableField: optionalArgs, additionalProps: {}, args: {
|
|
54
|
+
foo: 'bar',
|
|
55
|
+
} });
|
|
56
|
+
React.createElement(LoadableFieldRenderer, { loadableField: optionalArgs, additionalProps: {}, args: {
|
|
57
|
+
// @ts-expect-error
|
|
58
|
+
foo: 12,
|
|
59
|
+
} });
|
|
60
|
+
// @ts-expect-error
|
|
61
|
+
React.createElement(LoadableFieldRenderer, { loadableField: requiredArgs, additionalProps: {} });
|
|
62
|
+
React.createElement(LoadableFieldRenderer, { loadableField: requiredArgs, additionalProps: {},
|
|
63
|
+
// @ts-expect-error
|
|
64
|
+
args: {} });
|
|
65
|
+
React.createElement(LoadableFieldRenderer, { loadableField: requiredArgs, additionalProps: {}, args: {
|
|
66
|
+
foo: 'bar',
|
|
67
|
+
} });
|
|
68
|
+
React.createElement(LoadableFieldRenderer, { loadableField: requiredArgs, additionalProps: {}, args: {
|
|
69
|
+
// @ts-expect-error
|
|
70
|
+
foo: 12,
|
|
71
|
+
} });
|
|
72
|
+
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import type { NetworkResponseObject } from '../core/cache';
|
|
1
2
|
import { FetchOptions, type RequiredFetchOptions } from '../core/check';
|
|
2
3
|
import { IsographEntrypoint, type NormalizationAst, type NormalizationAstLoader } from '../core/entrypoint';
|
|
3
4
|
import { ExtractParameters, FragmentReference, type UnknownTReadFromStore } from '../core/FragmentReference';
|
|
4
|
-
export type UseImperativeReferenceResult<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue, TNormalizationAst extends NormalizationAst | NormalizationAstLoader> = {
|
|
5
|
+
export type UseImperativeReferenceResult<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue, TNormalizationAst extends NormalizationAst | NormalizationAstLoader, TRawResponseType> = {
|
|
5
6
|
fragmentReference: FragmentReference<TReadFromStore, TClientFieldValue> | null;
|
|
6
|
-
loadFragmentReference: (variables: ExtractParameters<TReadFromStore>, ...[fetchOptions]: NormalizationAstLoader extends TNormalizationAst ? [fetchOptions: RequiredFetchOptions<TClientFieldValue>] : [fetchOptions?: FetchOptions<TClientFieldValue>]) => void;
|
|
7
|
+
loadFragmentReference: (variables: ExtractParameters<TReadFromStore>, ...[fetchOptions]: NormalizationAstLoader extends TNormalizationAst ? [fetchOptions: RequiredFetchOptions<TClientFieldValue>] : [fetchOptions?: FetchOptions<TClientFieldValue, TRawResponseType>]) => void;
|
|
7
8
|
};
|
|
8
|
-
export declare function useImperativeReference<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue, TNormalizationAst extends NormalizationAst | NormalizationAstLoader>(entrypoint: IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst>): UseImperativeReferenceResult<TReadFromStore, TClientFieldValue, TNormalizationAst>;
|
|
9
|
+
export declare function useImperativeReference<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue, TNormalizationAst extends NormalizationAst | NormalizationAstLoader, TRawResponseType extends NetworkResponseObject>(entrypoint: IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst, TRawResponseType>): UseImperativeReferenceResult<TReadFromStore, TClientFieldValue, TNormalizationAst, TRawResponseType>;
|
|
9
10
|
//# sourceMappingURL=useImperativeReference.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useImperativeReference.d.ts","sourceRoot":"","sources":["../../src/react/useImperativeReference.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,KAAK,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EACL,kBAAkB,EAClB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,qBAAqB,EAC3B,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"useImperativeReference.d.ts","sourceRoot":"","sources":["../../src/react/useImperativeReference.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,KAAK,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EACL,kBAAkB,EAClB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,qBAAqB,EAC3B,MAAM,2BAA2B,CAAC;AAQnC,MAAM,MAAM,4BAA4B,CACtC,cAAc,SAAS,qBAAqB,EAC5C,iBAAiB,EACjB,iBAAiB,SAAS,gBAAgB,GAAG,sBAAsB,EACnE,gBAAgB,IACd;IACF,iBAAiB,EAAE,iBAAiB,CAClC,cAAc,EACd,iBAAiB,CAClB,GAAG,IAAI,CAAC;IACT,qBAAqB,EAAE,CACrB,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAC5C,GAAG,CAAC,YAAY,CAAC,EAAE,sBAAsB,SAAS,iBAAiB,GAC/D,CAAC,YAAY,EAAE,oBAAoB,CAAC,iBAAiB,CAAC,CAAC,GACvD,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC,KACnE,IAAI,CAAC;CACX,CAAC;AAEF,wBAAgB,sBAAsB,CACpC,cAAc,SAAS,qBAAqB,EAC5C,iBAAiB,EACjB,iBAAiB,SAAS,gBAAgB,GAAG,sBAAsB,EACnE,gBAAgB,SAAS,qBAAqB,EAE9C,UAAU,EAAE,kBAAkB,CAC5B,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,CACjB,GACA,4BAA4B,CAC7B,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,CACjB,CAwCA"}
|
|
@@ -4,7 +4,6 @@ exports.useImperativeReference = useImperativeReference;
|
|
|
4
4
|
const react_disposable_state_1 = require("@isograph/react-disposable-state");
|
|
5
5
|
const IsographEnvironment_1 = require("../core/IsographEnvironment");
|
|
6
6
|
const makeNetworkRequest_1 = require("../core/makeNetworkRequest");
|
|
7
|
-
const PromiseWrapper_1 = require("../core/PromiseWrapper");
|
|
8
7
|
const IsographEnvironmentProvider_1 = require("./IsographEnvironmentProvider");
|
|
9
8
|
function useImperativeReference(entrypoint) {
|
|
10
9
|
const { state, setState } = (0, react_disposable_state_1.useUpdatableDisposableState)();
|
|
@@ -12,15 +11,14 @@ function useImperativeReference(entrypoint) {
|
|
|
12
11
|
return {
|
|
13
12
|
fragmentReference: state !== react_disposable_state_1.UNASSIGNED_STATE ? state : null,
|
|
14
13
|
loadFragmentReference: (variables, fetchOptions) => {
|
|
15
|
-
const readerWithRefetchQueries = entrypoint.readerWithRefetchQueries
|
|
16
|
-
'ReaderWithRefetchQueriesLoader'
|
|
17
|
-
? (0, PromiseWrapper_1.wrapPromise)(entrypoint.readerWithRefetchQueries.loader())
|
|
18
|
-
: (0, PromiseWrapper_1.wrapResolvedValue)(entrypoint.readerWithRefetchQueries);
|
|
14
|
+
const { fieldName, readerArtifactKind, readerWithRefetchQueries } = (0, IsographEnvironment_1.getOrLoadReaderWithRefetchQueries)(environment, entrypoint.readerWithRefetchQueries);
|
|
19
15
|
const [networkRequest, disposeNetworkRequest] = (0, makeNetworkRequest_1.maybeMakeNetworkRequest)(environment, entrypoint, variables, readerWithRefetchQueries, fetchOptions !== null && fetchOptions !== void 0 ? fetchOptions : null);
|
|
20
16
|
setState([
|
|
21
17
|
{
|
|
22
18
|
kind: 'FragmentReference',
|
|
23
19
|
readerWithRefetchQueries,
|
|
20
|
+
fieldName,
|
|
21
|
+
readerArtifactKind,
|
|
24
22
|
root: { __link: IsographEnvironment_1.ROOT_ID, __typename: entrypoint.concreteType },
|
|
25
23
|
variables,
|
|
26
24
|
networkRequest,
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { type NetworkResponseObject } from '../core/cache';
|
|
1
2
|
import { FetchOptions, type RequiredFetchOptions } from '../core/check';
|
|
2
3
|
import { IsographEntrypoint, type NormalizationAst, type NormalizationAstLoader } from '../core/entrypoint';
|
|
3
4
|
import { ExtractParameters, FragmentReference, type UnknownTReadFromStore } from '../core/FragmentReference';
|
|
4
|
-
export declare function useLazyReference<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue, TNormalizationAst extends NormalizationAst | NormalizationAstLoader>(entrypoint: IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst>, variables: ExtractParameters<TReadFromStore>, ...[fetchOptions]: TNormalizationAst extends NormalizationAstLoader ? [fetchOptions: RequiredFetchOptions<TClientFieldValue>] : [fetchOptions?: FetchOptions<TClientFieldValue>]): NormalizationAst | NormalizationAstLoader extends TNormalizationAst ? unknown : {
|
|
5
|
+
export declare function useLazyReference<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue, TNormalizationAst extends NormalizationAst | NormalizationAstLoader, TRawResponseType extends NetworkResponseObject>(entrypoint: IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst, TRawResponseType>, variables: ExtractParameters<TReadFromStore>, ...[fetchOptions]: TNormalizationAst extends NormalizationAstLoader ? [fetchOptions: RequiredFetchOptions<TClientFieldValue>] : [fetchOptions?: FetchOptions<TClientFieldValue, TRawResponseType>]): NormalizationAst | NormalizationAstLoader extends TNormalizationAst ? unknown : {
|
|
5
6
|
fragmentReference: FragmentReference<TReadFromStore, TClientFieldValue>;
|
|
6
7
|
};
|
|
7
8
|
//# sourceMappingURL=useLazyReference.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLazyReference.d.ts","sourceRoot":"","sources":["../../src/react/useLazyReference.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useLazyReference.d.ts","sourceRoot":"","sources":["../../src/react/useLazyReference.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,YAAY,EAAE,KAAK,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EACL,kBAAkB,EAClB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,qBAAqB,EAC3B,MAAM,2BAA2B,CAAC;AAInC,wBAAgB,gBAAgB,CAC9B,cAAc,SAAS,qBAAqB,EAC5C,iBAAiB,EACjB,iBAAiB,SAAS,gBAAgB,GAAG,sBAAsB,EACnE,gBAAgB,SAAS,qBAAqB,EAE9C,UAAU,EAAE,kBAAkB,CAC5B,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,CACjB,EACD,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAC5C,GAAG,CAAC,YAAY,CAAC,EAAE,iBAAiB,SAAS,sBAAsB,GAC/D,CAAC,YAAY,EAAE,oBAAoB,CAAC,iBAAiB,CAAC,CAAC,GACvD,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC,GACrE,gBAAgB,GAAG,sBAAsB,SAAS,iBAAiB,GAClE,OAAO,GACP;IACE,iBAAiB,EAAE,iBAAiB,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;CACzE,CAqBJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useReadAndSubscribe.d.ts","sourceRoot":"","sources":["../../src/react/useReadAndSubscribe.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,WAAW,EACX,iBAAiB,EAEjB,KAAK,qBAAqB,EAC3B,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"useReadAndSubscribe.d.ts","sourceRoot":"","sources":["../../src/react/useReadAndSubscribe.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,WAAW,EACX,iBAAiB,EAEjB,KAAK,qBAAqB,EAC3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,2BAA2B,EAE3B,sBAAsB,EACvB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAIhD;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,cAAc,SAAS,qBAAqB,EAE5C,iBAAiB,EAAE,iBAAiB,CAAC,cAAc,EAAE,GAAG,CAAC,EACzD,qBAAqB,EAAE,2BAA2B,EAClD,SAAS,EAAE,SAAS,CAAC,cAAc,CAAC,GACnC,WAAW,CAAC,cAAc,CAAC,CAY7B;AAED,wBAAgB,sBAAsB,CACpC,cAAc,SAAS,qBAAqB,EAE5C,KAAK,EAAE,aAAa,CAAC;IACnB,OAAO,EAAE,sBAAsB,CAAC,cAAc,CAAC,CAAC;IAChD,QAAQ,EAAE,CAAC,cAAc,EAAE,sBAAsB,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IAC3E,iBAAiB,EAAE,iBAAiB,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IAC1D,SAAS,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;CACtC,CAAC,QAiCH"}
|
|
@@ -5,7 +5,6 @@ exports.useSubscribeToMultiple = useSubscribeToMultiple;
|
|
|
5
5
|
const react_1 = require("react");
|
|
6
6
|
const cache_1 = require("../core/cache");
|
|
7
7
|
const FragmentReference_1 = require("../core/FragmentReference");
|
|
8
|
-
const PromiseWrapper_1 = require("../core/PromiseWrapper");
|
|
9
8
|
const read_1 = require("../core/read");
|
|
10
9
|
const IsographEnvironmentProvider_1 = require("./IsographEnvironmentProvider");
|
|
11
10
|
const useRerenderOnChange_1 = require("./useRerenderOnChange");
|
|
@@ -36,8 +35,7 @@ function useSubscribeToMultiple(items) {
|
|
|
36
35
|
[
|
|
37
36
|
items
|
|
38
37
|
.map(({ fragmentReference }) => {
|
|
39
|
-
|
|
40
|
-
(0, FragmentReference_1.stableIdForFragmentReference)(fragmentReference, readerWithRefetchQueries.readerArtifact.fieldName);
|
|
38
|
+
(0, FragmentReference_1.stableIdForFragmentReference)(fragmentReference);
|
|
41
39
|
})
|
|
42
40
|
.join('.'),
|
|
43
41
|
]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useResult.d.ts","sourceRoot":"","sources":["../../src/react/useResult.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EACjB,KAAK,qBAAqB,EAC3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAEL,cAAc,EAEf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAEL,2BAA2B,EAC5B,MAAM,cAAc,CAAC;AAKtB,wBAAgB,SAAS,CACvB,cAAc,SAAS,qBAAqB,EAC5C,iBAAiB,EAEjB,iBAAiB,EAAE,iBAAiB,CAAC,cAAc,EAAE,iBAAiB,CAAC,EACvE,4BAA4B,CAAC,EAAE,OAAO,CAAC,2BAA2B,CAAC,GAAG,IAAI,GACzE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"useResult.d.ts","sourceRoot":"","sources":["../../src/react/useResult.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EACjB,KAAK,qBAAqB,EAC3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAEL,cAAc,EAEf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAEL,2BAA2B,EAC5B,MAAM,cAAc,CAAC;AAKtB,wBAAgB,SAAS,CACvB,cAAc,SAAS,qBAAqB,EAC5C,iBAAiB,EAEjB,iBAAiB,EAAE,iBAAiB,CAAC,cAAc,EAAE,iBAAiB,CAAC,EACvE,4BAA4B,CAAC,EAAE,OAAO,CAAC,2BAA2B,CAAC,GAAG,IAAI,GACzE,iBAAiB,CA6CnB;AAED,wBAAgB,yBAAyB,CACvC,cAAc,EAAE,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,EACzC,qBAAqB,EAAE,2BAA2B,QAWnD"}
|
package/dist/react/useResult.js
CHANGED
|
@@ -11,20 +11,21 @@ const useReadAndSubscribe_1 = require("./useReadAndSubscribe");
|
|
|
11
11
|
function useResult(fragmentReference, partialNetworkRequestOptions) {
|
|
12
12
|
const environment = (0, IsographEnvironmentProvider_1.useIsographEnvironment)();
|
|
13
13
|
const networkRequestOptions = (0, read_1.getNetworkRequestOptionsWithDefaults)(partialNetworkRequestOptions);
|
|
14
|
-
|
|
15
|
-
const readerWithRefetchQueries = (0, PromiseWrapper_1.readPromise)(fragmentReference.readerWithRefetchQueries);
|
|
16
|
-
switch (readerWithRefetchQueries.readerArtifact.kind) {
|
|
14
|
+
switch (fragmentReference.readerArtifactKind) {
|
|
17
15
|
case 'ComponentReaderArtifact': {
|
|
18
16
|
// @ts-expect-error
|
|
19
|
-
return (0, componentCache_1.getOrCreateCachedComponent)(environment,
|
|
17
|
+
return (0, componentCache_1.getOrCreateCachedComponent)(environment, fragmentReference, networkRequestOptions);
|
|
20
18
|
}
|
|
21
19
|
case 'EagerReaderArtifact': {
|
|
20
|
+
maybeUnwrapNetworkRequest(fragmentReference.networkRequest, networkRequestOptions);
|
|
21
|
+
const readerWithRefetchQueries = (0, PromiseWrapper_1.readPromise)(fragmentReference.readerWithRefetchQueries);
|
|
22
22
|
const data = (0, useReadAndSubscribe_1.useReadAndSubscribe)(fragmentReference, networkRequestOptions, readerWithRefetchQueries.readerArtifact.readerAst);
|
|
23
23
|
const param = Object.assign({ data: data, parameters: fragmentReference.variables }, (readerWithRefetchQueries.readerArtifact.hasUpdatable
|
|
24
24
|
? {
|
|
25
|
-
startUpdate: (0, startUpdate_1.getOrCreateCachedStartUpdate)(environment, fragmentReference,
|
|
25
|
+
startUpdate: (0, startUpdate_1.getOrCreateCachedStartUpdate)(environment, fragmentReference, networkRequestOptions),
|
|
26
26
|
}
|
|
27
27
|
: undefined));
|
|
28
|
+
// @ts-expect-error
|
|
28
29
|
return readerWithRefetchQueries.readerArtifact.resolver(param);
|
|
29
30
|
}
|
|
30
31
|
}
|