@isograph/react 0.3.0 → 0.4.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 +5 -0
- package/dist/core/FragmentReference.d.ts +17 -8
- package/dist/core/FragmentReference.d.ts.map +1 -1
- package/dist/core/FragmentReference.js +3 -12
- package/dist/core/IsographEnvironment.d.ts +30 -35
- package/dist/core/IsographEnvironment.d.ts.map +1 -1
- package/dist/core/IsographEnvironment.js +4 -0
- package/dist/core/PromiseWrapper.d.ts +6 -7
- package/dist/core/PromiseWrapper.d.ts.map +1 -1
- package/dist/core/PromiseWrapper.js +6 -12
- package/dist/core/areEqualWithDeepComparison.d.ts +1 -3
- package/dist/core/areEqualWithDeepComparison.d.ts.map +1 -1
- package/dist/core/areEqualWithDeepComparison.js +16 -2
- package/dist/core/brand.d.ts +2 -0
- package/dist/core/brand.d.ts.map +1 -0
- package/dist/core/brand.js +2 -0
- package/dist/core/cache.d.ts +16 -24
- package/dist/core/cache.d.ts.map +1 -1
- package/dist/core/cache.js +105 -72
- package/dist/core/check.d.ts +11 -7
- package/dist/core/check.d.ts.map +1 -1
- package/dist/core/check.js +2 -2
- package/dist/core/componentCache.d.ts +1 -1
- package/dist/core/componentCache.d.ts.map +1 -1
- package/dist/core/componentCache.js +27 -31
- package/dist/core/entrypoint.d.ts +43 -28
- package/dist/core/entrypoint.d.ts.map +1 -1
- package/dist/core/garbageCollection.d.ts +5 -6
- package/dist/core/garbageCollection.d.ts.map +1 -1
- package/dist/core/garbageCollection.js +1 -1
- package/dist/core/logging.d.ts +23 -15
- package/dist/core/logging.d.ts.map +1 -1
- package/dist/core/logging.js +8 -5
- package/dist/core/makeNetworkRequest.d.ts +5 -5
- package/dist/core/makeNetworkRequest.d.ts.map +1 -1
- package/dist/core/makeNetworkRequest.js +113 -28
- package/dist/core/read.d.ts +16 -11
- package/dist/core/read.d.ts.map +1 -1
- package/dist/core/read.js +468 -305
- package/dist/core/reader.d.ts +33 -37
- package/dist/core/reader.d.ts.map +1 -1
- package/dist/core/startUpdate.d.ts +8 -0
- package/dist/core/startUpdate.d.ts.map +1 -0
- package/dist/core/startUpdate.js +163 -0
- package/dist/core/util.d.ts +3 -0
- package/dist/core/util.d.ts.map +1 -1
- package/dist/index.d.ts +18 -15
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -1
- package/dist/loadable-hooks/useClientSideDefer.d.ts +4 -10
- package/dist/loadable-hooks/useClientSideDefer.d.ts.map +1 -1
- package/dist/loadable-hooks/useClientSideDefer.js +2 -2
- package/dist/loadable-hooks/useConnectionSpecPagination.d.ts +8 -15
- package/dist/loadable-hooks/useConnectionSpecPagination.d.ts.map +1 -1
- package/dist/loadable-hooks/useConnectionSpecPagination.js +6 -4
- package/dist/loadable-hooks/useImperativeExposedMutationField.d.ts +1 -2
- package/dist/loadable-hooks/useImperativeExposedMutationField.d.ts.map +1 -1
- package/dist/loadable-hooks/useImperativeLoadableField.d.ts +4 -6
- package/dist/loadable-hooks/useImperativeLoadableField.d.ts.map +1 -1
- package/dist/loadable-hooks/useImperativeLoadableField.js +1 -1
- package/dist/loadable-hooks/useSkipLimitPagination.d.ts +6 -13
- package/dist/loadable-hooks/useSkipLimitPagination.d.ts.map +1 -1
- package/dist/loadable-hooks/useSkipLimitPagination.js +11 -9
- package/dist/react/FragmentReader.d.ts +7 -14
- package/dist/react/FragmentReader.d.ts.map +1 -1
- package/dist/react/FragmentReader.js +3 -30
- package/dist/react/FragmentRenderer.d.ts +15 -0
- package/dist/react/FragmentRenderer.d.ts.map +1 -0
- package/dist/react/FragmentRenderer.js +35 -0
- package/dist/react/IsographEnvironmentProvider.d.ts.map +1 -1
- package/dist/react/LoadableFieldReader.d.ts +12 -0
- package/dist/react/LoadableFieldReader.d.ts.map +1 -0
- package/dist/react/LoadableFieldReader.js +10 -0
- package/dist/react/LoadableFieldRenderer.d.ts +13 -0
- package/dist/react/LoadableFieldRenderer.d.ts.map +1 -0
- package/dist/react/LoadableFieldRenderer.js +37 -0
- package/dist/react/useImperativeReference.d.ts +7 -10
- package/dist/react/useImperativeReference.d.ts.map +1 -1
- package/dist/react/useImperativeReference.js +8 -9
- package/dist/react/useLazyReference.d.ts +4 -7
- package/dist/react/useLazyReference.d.ts.map +1 -1
- package/dist/react/useLazyReference.js +26 -5
- package/dist/react/useReadAndSubscribe.d.ts +3 -9
- package/dist/react/useReadAndSubscribe.d.ts.map +1 -1
- package/dist/react/useReadAndSubscribe.js +7 -3
- package/dist/react/useRerenderOnChange.d.ts +1 -1
- package/dist/react/useRerenderOnChange.d.ts.map +1 -1
- package/dist/react/useResult.d.ts +3 -6
- package/dist/react/useResult.d.ts.map +1 -1
- package/dist/react/useResult.js +10 -8
- package/isograph.config.json +1 -0
- package/package.json +6 -6
- package/src/core/FragmentReference.ts +40 -16
- package/src/core/IsographEnvironment.ts +57 -39
- package/src/core/PromiseWrapper.ts +15 -18
- package/src/core/areEqualWithDeepComparison.ts +22 -2
- package/src/core/brand.ts +18 -0
- package/src/core/cache.ts +153 -113
- package/src/core/check.ts +17 -12
- package/src/core/componentCache.ts +47 -50
- package/src/core/entrypoint.ts +66 -21
- package/src/core/garbageCollection.ts +9 -9
- package/src/core/logging.ts +39 -25
- package/src/core/makeNetworkRequest.ts +212 -34
- package/src/core/read.ts +728 -440
- package/src/core/reader.ts +46 -29
- package/src/core/startUpdate.ts +334 -0
- package/src/core/util.ts +4 -0
- package/src/index.ts +89 -8
- package/src/loadable-hooks/useClientSideDefer.ts +11 -10
- package/src/loadable-hooks/useConnectionSpecPagination.ts +27 -13
- package/src/loadable-hooks/useImperativeExposedMutationField.ts +1 -1
- package/src/loadable-hooks/useImperativeLoadableField.ts +10 -12
- package/src/loadable-hooks/useSkipLimitPagination.ts +38 -19
- package/src/react/FragmentReader.tsx +23 -39
- package/src/react/FragmentRenderer.tsx +46 -0
- package/src/react/IsographEnvironmentProvider.tsx +1 -1
- package/src/react/LoadableFieldReader.tsx +40 -0
- package/src/react/LoadableFieldRenderer.tsx +41 -0
- package/src/react/useImperativeReference.ts +49 -27
- package/src/react/useLazyReference.ts +62 -14
- package/src/react/useReadAndSubscribe.ts +17 -9
- package/src/react/useRerenderOnChange.ts +2 -2
- package/src/react/useResult.ts +22 -8
- package/src/tests/__isograph/Economist/link/output_type.ts +2 -0
- package/src/tests/__isograph/Node/asEconomist/resolver_reader.ts +28 -0
- package/src/tests/__isograph/Node/link/output_type.ts +3 -0
- package/src/tests/__isograph/Query/linkedUpdate/entrypoint.ts +31 -0
- package/src/tests/__isograph/Query/linkedUpdate/normalization_ast.ts +95 -0
- package/src/tests/__isograph/Query/linkedUpdate/output_type.ts +3 -0
- package/src/tests/__isograph/Query/linkedUpdate/param_type.ts +51 -0
- package/src/tests/__isograph/Query/linkedUpdate/query_text.ts +20 -0
- package/src/tests/__isograph/Query/linkedUpdate/resolver_reader.ts +93 -0
- package/src/tests/__isograph/Query/meName/entrypoint.ts +8 -29
- package/src/tests/__isograph/Query/meName/normalization_ast.ts +25 -0
- package/src/tests/__isograph/Query/meName/query_text.ts +6 -0
- package/src/tests/__isograph/Query/meName/resolver_reader.ts +5 -0
- package/src/tests/__isograph/Query/meNameSuccessor/entrypoint.ts +8 -67
- package/src/tests/__isograph/Query/meNameSuccessor/normalization_ast.ts +56 -0
- package/src/tests/__isograph/Query/meNameSuccessor/query_text.ts +13 -0
- package/src/tests/__isograph/Query/meNameSuccessor/resolver_reader.ts +10 -0
- package/src/tests/__isograph/Query/nodeField/entrypoint.ts +8 -34
- package/src/tests/__isograph/Query/nodeField/normalization_ast.ts +30 -0
- package/src/tests/__isograph/Query/nodeField/query_text.ts +6 -0
- package/src/tests/__isograph/Query/nodeField/resolver_reader.ts +5 -0
- package/src/tests/__isograph/Query/startUpdate/entrypoint.ts +31 -0
- package/src/tests/__isograph/Query/startUpdate/normalization_ast.ts +51 -0
- package/src/tests/__isograph/Query/startUpdate/output_type.ts +3 -0
- package/src/tests/__isograph/Query/startUpdate/param_type.ts +26 -0
- package/src/tests/__isograph/Query/startUpdate/parameters_type.ts +3 -0
- package/src/tests/__isograph/Query/startUpdate/query_text.ts +11 -0
- package/src/tests/__isograph/Query/startUpdate/resolver_reader.ts +55 -0
- package/src/tests/__isograph/Query/subquery/entrypoint.ts +8 -44
- package/src/tests/__isograph/Query/subquery/normalization_ast.ts +38 -0
- package/src/tests/__isograph/Query/subquery/query_text.ts +8 -0
- package/src/tests/__isograph/Query/subquery/resolver_reader.ts +7 -0
- package/src/tests/__isograph/iso.ts +24 -3
- package/src/tests/__isograph/tsconfig.json +8 -0
- package/src/tests/garbageCollection.test.ts +10 -8
- package/src/tests/meNameSuccessor.ts +1 -1
- package/src/tests/nodeQuery.ts +2 -1
- package/src/tests/normalizeData.test.ts +1 -2
- package/src/tests/startUpdate.test.ts +205 -0
- package/tsconfig.pkg.json +1 -2
package/dist/core/reader.d.ts
CHANGED
|
@@ -1,49 +1,43 @@
|
|
|
1
1
|
import { Factory } from '@isograph/disposable-types';
|
|
2
|
-
import {
|
|
3
|
-
import { ComponentOrFieldName, IsographEnvironment, type Link } from './IsographEnvironment';
|
|
2
|
+
import { FetchOptions } from './check';
|
|
4
3
|
import { IsographEntrypoint, IsographEntrypointLoader, RefetchQueryNormalizationArtifact, RefetchQueryNormalizationArtifactWrapper } from './entrypoint';
|
|
4
|
+
import { ExtractParameters, FragmentReference, type UnknownTReadFromStore } from './FragmentReference';
|
|
5
|
+
import { ComponentOrFieldName, IsographEnvironment, type StoreLink } from './IsographEnvironment';
|
|
5
6
|
import { Arguments } from './util';
|
|
6
|
-
|
|
7
|
-
export type
|
|
8
|
-
parameters: object;
|
|
9
|
-
data: object;
|
|
10
|
-
}, TClientFieldValue, TComponentProps extends Record<PropertyKey, never>> = EagerReaderArtifact<TReadFromStore, TClientFieldValue> | ComponentReaderArtifact<TReadFromStore, TComponentProps>;
|
|
11
|
-
export type EagerReaderArtifact<TReadFromStore extends {
|
|
12
|
-
parameters: object;
|
|
13
|
-
data: object;
|
|
14
|
-
}, TClientFieldValue> = {
|
|
7
|
+
export type TopLevelReaderArtifact<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue, TComponentProps extends Record<PropertyKey, never>> = EagerReaderArtifact<TReadFromStore, TClientFieldValue> | ComponentReaderArtifact<TReadFromStore, TComponentProps>;
|
|
8
|
+
export type EagerReaderArtifact<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue> = {
|
|
15
9
|
readonly kind: 'EagerReaderArtifact';
|
|
10
|
+
readonly fieldName: string;
|
|
16
11
|
readonly readerAst: ReaderAst<TReadFromStore>;
|
|
17
12
|
readonly resolver: (data: ResolverFirstParameter<TReadFromStore>) => TClientFieldValue;
|
|
13
|
+
readonly hasUpdatable: boolean;
|
|
18
14
|
};
|
|
19
|
-
export type ComponentReaderArtifact<TReadFromStore extends {
|
|
20
|
-
parameters: object;
|
|
21
|
-
data: object;
|
|
22
|
-
}, TComponentProps extends Record<string, unknown> = Record<PropertyKey, never>> = {
|
|
15
|
+
export type ComponentReaderArtifact<TReadFromStore extends UnknownTReadFromStore, TComponentProps extends Record<string, unknown> = Record<PropertyKey, never>> = {
|
|
23
16
|
readonly kind: 'ComponentReaderArtifact';
|
|
24
|
-
readonly
|
|
17
|
+
readonly fieldName: ComponentOrFieldName;
|
|
25
18
|
readonly readerAst: ReaderAst<TReadFromStore>;
|
|
26
19
|
readonly resolver: (data: ResolverFirstParameter<TReadFromStore>, runtimeProps: TComponentProps) => React.ReactNode;
|
|
20
|
+
readonly hasUpdatable: boolean;
|
|
27
21
|
};
|
|
28
|
-
export type ResolverFirstParameter<TReadFromStore extends
|
|
29
|
-
|
|
30
|
-
parameters: object;
|
|
31
|
-
}> = {
|
|
32
|
-
data: ExtractData<TReadFromStore>;
|
|
33
|
-
parameters: ExtractParameters<TReadFromStore>;
|
|
34
|
-
};
|
|
22
|
+
export type ResolverFirstParameter<TReadFromStore extends UnknownTReadFromStore> = Pick<TReadFromStore, 'data' | 'parameters' | 'startUpdate'>;
|
|
23
|
+
export type StartUpdate<UpdatableData> = (updater: (updatableData: UpdatableData) => void) => void;
|
|
35
24
|
export type RefetchReaderArtifact = {
|
|
36
25
|
readonly kind: 'RefetchReaderArtifact';
|
|
37
26
|
readonly readerAst: ReaderAst<unknown>;
|
|
38
|
-
readonly resolver: (environment: IsographEnvironment, artifact: RefetchQueryNormalizationArtifact, variables: any, filteredVariables: any, rootLink:
|
|
27
|
+
readonly resolver: (environment: IsographEnvironment, artifact: RefetchQueryNormalizationArtifact, variables: any, filteredVariables: any, rootLink: StoreLink, readerArtifact: TopLevelReaderArtifact<any, any, any> | null, nestedRefetchQueries: RefetchQueryNormalizationArtifactWrapper[]) => () => void;
|
|
39
28
|
};
|
|
40
|
-
export type ReaderAstNode = ReaderScalarField | ReaderLinkedField | ReaderNonLoadableResolverField | ReaderImperativelyLoadedField |
|
|
29
|
+
export type ReaderAstNode = ReaderScalarField | ReaderLinkedField | ReaderNonLoadableResolverField | ReaderImperativelyLoadedField | LoadablySelectedField | ReaderLinkField;
|
|
41
30
|
export type ReaderAst<TReadFromStore> = ReadonlyArray<ReaderAstNode>;
|
|
42
31
|
export type ReaderScalarField = {
|
|
43
32
|
readonly kind: 'Scalar';
|
|
44
33
|
readonly fieldName: string;
|
|
45
34
|
readonly alias: string | null;
|
|
46
35
|
readonly arguments: Arguments | null;
|
|
36
|
+
readonly isUpdatable: boolean;
|
|
37
|
+
};
|
|
38
|
+
export type ReaderLinkField = {
|
|
39
|
+
readonly kind: 'Link';
|
|
40
|
+
readonly alias: string;
|
|
47
41
|
};
|
|
48
42
|
export type ReaderLinkedField = {
|
|
49
43
|
readonly kind: 'Linked';
|
|
@@ -52,9 +46,15 @@ export type ReaderLinkedField = {
|
|
|
52
46
|
readonly selections: ReaderAst<unknown>;
|
|
53
47
|
readonly arguments: Arguments | null;
|
|
54
48
|
readonly condition: EagerReaderArtifact<{
|
|
55
|
-
data:
|
|
56
|
-
parameters:
|
|
57
|
-
|
|
49
|
+
data: any;
|
|
50
|
+
parameters: any;
|
|
51
|
+
startUpdate?: StartUpdate<any>;
|
|
52
|
+
}, StoreLink | null> | null;
|
|
53
|
+
readonly isUpdatable: boolean;
|
|
54
|
+
/**
|
|
55
|
+
* If refetchQueryIndex != null, then the linked field is a client pointer.
|
|
56
|
+
*/
|
|
57
|
+
readonly refetchQueryIndex: number | null;
|
|
58
58
|
};
|
|
59
59
|
export type ReaderNonLoadableResolverField = {
|
|
60
60
|
readonly kind: 'Resolver';
|
|
@@ -67,21 +67,17 @@ export type ReaderImperativelyLoadedField = {
|
|
|
67
67
|
readonly kind: 'ImperativelyLoadedField';
|
|
68
68
|
readonly alias: string;
|
|
69
69
|
readonly refetchReaderArtifact: RefetchReaderArtifact;
|
|
70
|
-
readonly
|
|
70
|
+
readonly refetchQueryIndex: number;
|
|
71
71
|
readonly name: string;
|
|
72
72
|
};
|
|
73
|
-
export type
|
|
73
|
+
export type LoadablySelectedField = {
|
|
74
74
|
readonly kind: 'LoadablySelectedField';
|
|
75
75
|
readonly alias: string;
|
|
76
76
|
readonly name: string;
|
|
77
77
|
readonly queryArguments: Arguments | null;
|
|
78
78
|
readonly refetchReaderAst: ReaderAst<any>;
|
|
79
|
-
readonly entrypoint: IsographEntrypoint<any, any> | IsographEntrypointLoader<any, any>;
|
|
79
|
+
readonly entrypoint: IsographEntrypoint<any, any, any> | IsographEntrypointLoader<any, any>;
|
|
80
80
|
};
|
|
81
|
-
type StableId = string;
|
|
82
|
-
export type LoadableField<TReadFromStore extends
|
|
83
|
-
data: object;
|
|
84
|
-
parameters: object;
|
|
85
|
-
}, TResult, TArgs = ExtractParameters<TReadFromStore>> = (args: TArgs | void, fetchOptions: FetchOptions) => [StableId, Factory<FragmentReference<TReadFromStore, TResult>>];
|
|
86
|
-
export {};
|
|
81
|
+
export type StableId = string;
|
|
82
|
+
export type LoadableField<TReadFromStore extends UnknownTReadFromStore, TResult, TArgs = ExtractParameters<TReadFromStore>> = (args: TArgs | void, fetchOptions: FetchOptions<TResult>) => [StableId, Factory<FragmentReference<TReadFromStore, TResult>>];
|
|
87
83
|
//# sourceMappingURL=reader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reader.d.ts","sourceRoot":"","sources":["../../src/core/reader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,
|
|
1
|
+
{"version":3,"file":"reader.d.ts","sourceRoot":"","sources":["../../src/core/reader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type EncounteredIds } from './cache';
|
|
2
|
+
import { type ExtractStartUpdate, type ExtractUpdatableData, type FragmentReference, type UnknownTReadFromStore } from './FragmentReference';
|
|
3
|
+
import { type IsographEnvironment } from './IsographEnvironment';
|
|
4
|
+
import { type NetworkRequestReaderOptions } from './read';
|
|
5
|
+
export declare function getOrCreateCachedStartUpdate<TReadFromStore extends UnknownTReadFromStore>(environment: IsographEnvironment, fragmentReference: FragmentReference<TReadFromStore, unknown>, eagerResolverName: string, networkRequestOptions: NetworkRequestReaderOptions): ExtractStartUpdate<TReadFromStore>;
|
|
6
|
+
export declare function createStartUpdate<TReadFromStore extends UnknownTReadFromStore>(environment: IsographEnvironment, fragmentReference: FragmentReference<TReadFromStore, unknown>, networkRequestOptions: NetworkRequestReaderOptions): ExtractStartUpdate<TReadFromStore>;
|
|
7
|
+
export declare function createUpdatableProxy<TReadFromStore extends UnknownTReadFromStore>(environment: IsographEnvironment, fragmentReference: FragmentReference<TReadFromStore, unknown>, networkRequestOptions: NetworkRequestReaderOptions, mutableUpdatedIds: EncounteredIds): ExtractUpdatableData<TReadFromStore>;
|
|
8
|
+
//# sourceMappingURL=startUpdate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startUpdate.d.ts","sourceRoot":"","sources":["../../src/core/startUpdate.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAGL,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,KAAK,mBAAmB,EAEzB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAML,KAAK,2BAA2B,EAEjC,MAAM,QAAQ,CAAC;AAGhB,wBAAgB,4BAA4B,CAC1C,cAAc,SAAS,qBAAqB,EAE5C,WAAW,EAAE,mBAAmB,EAChC,iBAAiB,EAAE,iBAAiB,CAAC,cAAc,EAAE,OAAO,CAAC,EAC7D,iBAAiB,EAAE,MAAM,EACzB,qBAAqB,EAAE,2BAA2B,GACjD,kBAAkB,CAAC,cAAc,CAAC,CAQpC;AAED,wBAAgB,iBAAiB,CAAC,cAAc,SAAS,qBAAqB,EAC5E,WAAW,EAAE,mBAAmB,EAChC,iBAAiB,EAAE,iBAAiB,CAAC,cAAc,EAAE,OAAO,CAAC,EAC7D,qBAAqB,EAAE,2BAA2B,GACjD,kBAAkB,CAAC,cAAc,CAAC,CA2BpC;AAED,wBAAgB,oBAAoB,CAClC,cAAc,SAAS,qBAAqB,EAE5C,WAAW,EAAE,mBAAmB,EAChC,iBAAiB,EAAE,iBAAiB,CAAC,cAAc,EAAE,OAAO,CAAC,EAC7D,qBAAqB,EAAE,2BAA2B,EAClD,iBAAiB,EAAE,cAAc,GAChC,oBAAoB,CAAC,cAAc,CAAC,CAkBtC"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getOrCreateCachedStartUpdate = getOrCreateCachedStartUpdate;
|
|
4
|
+
exports.createStartUpdate = createStartUpdate;
|
|
5
|
+
exports.createUpdatableProxy = createUpdatableProxy;
|
|
6
|
+
const cache_1 = require("./cache");
|
|
7
|
+
const FragmentReference_1 = require("./FragmentReference");
|
|
8
|
+
const IsographEnvironment_1 = require("./IsographEnvironment");
|
|
9
|
+
const logging_1 = require("./logging");
|
|
10
|
+
const PromiseWrapper_1 = require("./PromiseWrapper");
|
|
11
|
+
const read_1 = require("./read");
|
|
12
|
+
function getOrCreateCachedStartUpdate(environment, fragmentReference, eagerResolverName, networkRequestOptions) {
|
|
13
|
+
var _a;
|
|
14
|
+
var _b, _c;
|
|
15
|
+
return ((_a = (_b = environment.eagerReaderCache)[_c = (0, FragmentReference_1.stableIdForFragmentReference)(fragmentReference, eagerResolverName)]) !== null && _a !== void 0 ? _a : (_b[_c] = createStartUpdate(environment, fragmentReference, networkRequestOptions)));
|
|
16
|
+
}
|
|
17
|
+
function createStartUpdate(environment, fragmentReference, networkRequestOptions) {
|
|
18
|
+
return (updater) => {
|
|
19
|
+
let mutableUpdatedIds = new Map();
|
|
20
|
+
let data = createUpdatableProxy(environment, fragmentReference, networkRequestOptions, mutableUpdatedIds);
|
|
21
|
+
try {
|
|
22
|
+
updater(data);
|
|
23
|
+
}
|
|
24
|
+
catch (e) {
|
|
25
|
+
(0, logging_1.logMessage)(environment, () => ({
|
|
26
|
+
kind: 'StartUpdateError',
|
|
27
|
+
error: e,
|
|
28
|
+
}));
|
|
29
|
+
throw e;
|
|
30
|
+
}
|
|
31
|
+
finally {
|
|
32
|
+
(0, logging_1.logMessage)(environment, () => ({
|
|
33
|
+
kind: 'StartUpdateComplete',
|
|
34
|
+
updatedIds: mutableUpdatedIds,
|
|
35
|
+
}));
|
|
36
|
+
(0, cache_1.callSubscriptions)(environment, mutableUpdatedIds);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
function createUpdatableProxy(environment, fragmentReference, networkRequestOptions, mutableUpdatedIds) {
|
|
41
|
+
var _a;
|
|
42
|
+
const readerWithRefetchQueries = (0, PromiseWrapper_1.readPromise)(fragmentReference.readerWithRefetchQueries);
|
|
43
|
+
return readUpdatableData(environment, readerWithRefetchQueries.readerArtifact.readerAst, fragmentReference.root, (_a = fragmentReference.variables) !== null && _a !== void 0 ? _a : {}, readerWithRefetchQueries.nestedRefetchQueries, fragmentReference.networkRequest, networkRequestOptions, {
|
|
44
|
+
lastInvalidated: 0,
|
|
45
|
+
}, mutableUpdatedIds).data;
|
|
46
|
+
}
|
|
47
|
+
function defineCachedProperty(target, property, mutableState, get, set) {
|
|
48
|
+
let value = {
|
|
49
|
+
kind: 'NotSet',
|
|
50
|
+
};
|
|
51
|
+
Object.defineProperty(target, property, Object.assign({ configurable: false, enumerable: true, get: () => {
|
|
52
|
+
if (value.kind === 'NotSet' ||
|
|
53
|
+
value.validatedAt < mutableState.lastInvalidated) {
|
|
54
|
+
value = {
|
|
55
|
+
kind: 'Set',
|
|
56
|
+
value: get(),
|
|
57
|
+
validatedAt: mutableState.lastInvalidated,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
return value.value;
|
|
61
|
+
} }, (set && {
|
|
62
|
+
set: (newValue) => {
|
|
63
|
+
set(newValue);
|
|
64
|
+
mutableState.lastInvalidated++;
|
|
65
|
+
},
|
|
66
|
+
})));
|
|
67
|
+
}
|
|
68
|
+
function readUpdatableData(environment, ast, root, variables, nestedRefetchQueries, networkRequest, networkRequestOptions, mutableState, mutableUpdatedIds) {
|
|
69
|
+
var _a, _b, _c;
|
|
70
|
+
let storeRecord = (_a = environment.store[root.__typename]) === null || _a === void 0 ? void 0 : _a[root.__link];
|
|
71
|
+
if (storeRecord == null) {
|
|
72
|
+
return {
|
|
73
|
+
kind: 'Success',
|
|
74
|
+
data: null,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
let target = {};
|
|
78
|
+
for (const field of ast) {
|
|
79
|
+
switch (field.kind) {
|
|
80
|
+
case 'Scalar': {
|
|
81
|
+
const storeRecordName = (0, cache_1.getParentRecordKey)(field, variables);
|
|
82
|
+
defineCachedProperty(target, (_b = field.alias) !== null && _b !== void 0 ? _b : field.fieldName, mutableState, () => {
|
|
83
|
+
const data = (0, read_1.readScalarFieldData)(field, storeRecord, root, variables);
|
|
84
|
+
if (data.kind === 'MissingData') {
|
|
85
|
+
throw new Error(data.reason);
|
|
86
|
+
}
|
|
87
|
+
return data.data;
|
|
88
|
+
}, field.isUpdatable
|
|
89
|
+
? (newValue) => {
|
|
90
|
+
storeRecord[storeRecordName] = newValue;
|
|
91
|
+
const updatedIds = (0, cache_1.insertEmptySetIfMissing)(mutableUpdatedIds, root.__typename);
|
|
92
|
+
updatedIds.add(root.__link);
|
|
93
|
+
}
|
|
94
|
+
: undefined);
|
|
95
|
+
break;
|
|
96
|
+
}
|
|
97
|
+
case 'Linked': {
|
|
98
|
+
const storeRecordName = (0, cache_1.getParentRecordKey)(field, variables);
|
|
99
|
+
defineCachedProperty(target, (_c = field.alias) !== null && _c !== void 0 ? _c : field.fieldName, mutableState, () => {
|
|
100
|
+
const data = (0, read_1.readLinkedFieldData)(environment, field, storeRecord, root, variables, nestedRefetchQueries, networkRequest, networkRequestOptions, (ast, root) => readUpdatableData(environment, ast, root, variables, nestedRefetchQueries, networkRequest, networkRequestOptions, mutableState, mutableUpdatedIds));
|
|
101
|
+
if (data.kind === 'MissingData') {
|
|
102
|
+
throw new Error(data.reason);
|
|
103
|
+
}
|
|
104
|
+
return data.data;
|
|
105
|
+
}, 'isUpdatable' in field && field.isUpdatable
|
|
106
|
+
? (newValue) => {
|
|
107
|
+
if (Array.isArray(newValue)) {
|
|
108
|
+
storeRecord[storeRecordName] = newValue.map((node) => (0, IsographEnvironment_1.assertLink)(node === null || node === void 0 ? void 0 : node.link));
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
storeRecord[storeRecordName] = (0, IsographEnvironment_1.assertLink)(newValue === null || newValue === void 0 ? void 0 : newValue.link);
|
|
112
|
+
}
|
|
113
|
+
const updatedIds = (0, cache_1.insertEmptySetIfMissing)(mutableUpdatedIds, root.__typename);
|
|
114
|
+
updatedIds.add(root.__link);
|
|
115
|
+
}
|
|
116
|
+
: undefined);
|
|
117
|
+
break;
|
|
118
|
+
}
|
|
119
|
+
case 'ImperativelyLoadedField': {
|
|
120
|
+
defineCachedProperty(target, field.alias, mutableState, () => {
|
|
121
|
+
const data = (0, read_1.readImperativelyLoadedField)(environment, field, root, variables, nestedRefetchQueries, networkRequest, networkRequestOptions, new Map());
|
|
122
|
+
if (data.kind === 'MissingData') {
|
|
123
|
+
throw new Error(data.reason);
|
|
124
|
+
}
|
|
125
|
+
return data.data;
|
|
126
|
+
});
|
|
127
|
+
break;
|
|
128
|
+
}
|
|
129
|
+
case 'Resolver': {
|
|
130
|
+
defineCachedProperty(target, field.alias, mutableState, () => {
|
|
131
|
+
const data = (0, read_1.readResolverFieldData)(environment, field, root, variables, nestedRefetchQueries, networkRequest, networkRequestOptions, new Map());
|
|
132
|
+
if (data.kind === 'MissingData') {
|
|
133
|
+
throw new Error(data.reason);
|
|
134
|
+
}
|
|
135
|
+
return data.data;
|
|
136
|
+
});
|
|
137
|
+
break;
|
|
138
|
+
}
|
|
139
|
+
case 'LoadablySelectedField': {
|
|
140
|
+
defineCachedProperty(target, field.alias, mutableState, () => {
|
|
141
|
+
const data = (0, read_1.readLoadablySelectedFieldData)(environment, field, root, variables, networkRequest, networkRequestOptions, new Map());
|
|
142
|
+
if (data.kind === 'MissingData') {
|
|
143
|
+
throw new Error(data.reason);
|
|
144
|
+
}
|
|
145
|
+
return data.data;
|
|
146
|
+
});
|
|
147
|
+
break;
|
|
148
|
+
}
|
|
149
|
+
case 'Link': {
|
|
150
|
+
target[field.alias] = root;
|
|
151
|
+
break;
|
|
152
|
+
}
|
|
153
|
+
default: {
|
|
154
|
+
field;
|
|
155
|
+
throw new Error('Unexpected case.');
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
return {
|
|
160
|
+
kind: 'Success',
|
|
161
|
+
data: target,
|
|
162
|
+
};
|
|
163
|
+
}
|
package/dist/core/util.d.ts
CHANGED
package/dist/core/util.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/core/util.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,GAAG,IACpE,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;AAC1D,MAAM,MAAM,8BAA8B,CAAC,CAAC,IAC1C,CAAC,SAAS,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,GAChC,GAAG,CAAC,mBAAmB,GACvB,CAAC,GAAG,GAAG,CAAC,mBAAmB,CAAC;AAElC,MAAM,MAAM,SAAS,GAAG,QAAQ,EAAE,CAAC;AACnC,MAAM,MAAM,QAAQ,GAAG,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;AACrD,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAClC,MAAM,MAAM,aAAa,GACrB;IACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC;CACrB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC"}
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/core/util.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,GAAG,IACpE,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;AAC1D,MAAM,MAAM,8BAA8B,CAAC,CAAC,IAC1C,CAAC,SAAS,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,GAChC,GAAG,CAAC,mBAAmB,GACvB,CAAC,GAAG,GAAG,CAAC,mBAAmB,CAAC;AAElC,MAAM,MAAM,SAAS,GAAG,QAAQ,EAAE,CAAC;AACnC,MAAM,MAAM,QAAQ,GAAG,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;AACrD,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAClC,MAAM,MAAM,aAAa,GACrB;IACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC;CACrB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;CAC3B,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,26 +1,29 @@
|
|
|
1
|
-
export { retainQuery, unretainQuery, type RetainedQuery, garbageCollectEnvironment, } from './core/garbageCollection';
|
|
2
|
-
export { type PromiseWrapper, readPromise, getPromiseState, wrapResolvedValue, wrapPromise, } from './core/PromiseWrapper';
|
|
3
|
-
export { subscribe, normalizeData } from './core/cache';
|
|
1
|
+
export { retainQuery, unretainQuery, type RetainedQuery, garbageCollectEnvironment, type DidUnretainSomeQuery, } from './core/garbageCollection';
|
|
2
|
+
export { type PromiseWrapper, readPromise, getPromiseState, wrapResolvedValue, wrapPromise, type PromiseState, type Result, type AnyError, type NotSet, NOT_SET, } from './core/PromiseWrapper';
|
|
3
|
+
export { callSubscriptions, subscribe, normalizeData, type NetworkResponseObject, type NetworkResponseValue, type NetworkResponseScalarValue, type EncounteredIds, } from './core/cache';
|
|
4
4
|
export { makeNetworkRequest } from './core/makeNetworkRequest';
|
|
5
|
-
export { ROOT_ID, type DataId, type DataTypeValue, type IsographEnvironment, type IsographNetworkFunction, type IsographStore, type Link, type StoreRecord, createIsographEnvironment, createIsographStore, } from './core/IsographEnvironment';
|
|
6
|
-
export { type EagerReaderArtifact, type ComponentReaderArtifact, type RefetchReaderArtifact, type ReaderAst, type ReaderAstNode, type ReaderLinkedField, type ReaderNonLoadableResolverField, type ReaderScalarField, type TopLevelReaderArtifact, type LoadableField, type ResolverFirstParameter, } from './core/reader';
|
|
7
|
-
export { type NormalizationAst, type NormalizationAstNode, type NormalizationLinkedField, type NormalizationScalarField, type IsographEntrypoint, assertIsEntrypoint, type RefetchQueryNormalizationArtifact, type RefetchQueryNormalizationArtifactWrapper, type ExtractProps, type ExtractReadFromStore, type ExtractResolverResult, type NetworkRequestInfo, } from './core/entrypoint';
|
|
8
|
-
export { readButDoNotEvaluate } from './core/read';
|
|
5
|
+
export { ROOT_ID, type DataId, type DataTypeValue, type IsographEnvironment, type IsographNetworkFunction, type IsographStore, type MissingFieldHandler, type StoreLink, type Link, type StoreRecord, type CacheMap, createIsographEnvironment, createIsographStore, type FieldCache, type Subscriptions, type Subscription, type TypeName, type FragmentSubscription, type AnyChangesToRecordSubscription, type AnyRecordSubscription, type ComponentOrFieldName, type StringifiedArgs, } from './core/IsographEnvironment';
|
|
6
|
+
export { type EagerReaderArtifact, type ComponentReaderArtifact, type RefetchReaderArtifact, type ReaderAst, type ReaderAstNode, type ReaderLinkedField, type ReaderNonLoadableResolverField, type ReaderScalarField, type TopLevelReaderArtifact, type LoadableField, type StableId, type ResolverFirstParameter, type ReaderImperativelyLoadedField, type LoadablySelectedField as ReaderLoadableField, type ReaderLinkField, type StartUpdate, } from './core/reader';
|
|
7
|
+
export { type NormalizationAst, type NormalizationAstNode, type NormalizationAstNodes, type NormalizationAstLoader, type NormalizationLinkedField, type NormalizationScalarField, type IsographEntrypoint, type IsographOperation, type IsographPersistedOperation, type IsographPersistedOperationExtraInfo, assertIsEntrypoint, type RefetchQueryNormalizationArtifact, type RefetchQueryNormalizationArtifactWrapper, type ExtractProps, type ExtractReadFromStore, type ExtractResolverResult, type NetworkRequestInfo, type NormalizationInlineFragment, type ReaderWithRefetchQueries, type IsographEntrypointLoader, } from './core/entrypoint';
|
|
8
|
+
export { readButDoNotEvaluate, type WithEncounteredRecords, type NetworkRequestReaderOptions, type ReadDataResult, } from './core/read';
|
|
9
9
|
export { type ExtractSecondParam, type CombineWithIntrinsicAttributes, type Argument, type ArgumentName, type ArgumentValue, type Arguments, } from './core/util';
|
|
10
|
-
export { type FragmentReference, type Variables, type ExtractParameters, type ExtractData, stableIdForFragmentReference, } from './core/FragmentReference';
|
|
11
|
-
export { type LogMessage, type LogFunction, logMessage, registerLogger, } from './core/logging';
|
|
12
|
-
export { check, CheckResult, FetchOptions, ShouldFetch } from './core/check';
|
|
10
|
+
export { type FragmentReference, type Variables, type ExtractParameters, type ExtractData, type UnknownTReadFromStore, stableIdForFragmentReference, type ExtractStartUpdate, type VariableValue, type StableIdForFragmentReference, } from './core/FragmentReference';
|
|
11
|
+
export { type LogMessage, type LogFunction, type WrappedLogFunction, logMessage, registerLogger, } from './core/logging';
|
|
12
|
+
export { check, type CheckResult, type FetchOptions, type RequiredFetchOptions, type ShouldFetch, type RequiredShouldFetch, } from './core/check';
|
|
13
13
|
export { IsographEnvironmentProvider, useIsographEnvironment, type IsographEnvironmentProviderProps, } from './react/IsographEnvironmentProvider';
|
|
14
|
-
export { useImperativeReference } from './react/useImperativeReference';
|
|
14
|
+
export { useImperativeReference, type UseImperativeReferenceResult, } from './react/useImperativeReference';
|
|
15
|
+
export { FragmentRenderer, type IsExactlyIntrinsicAttributes, } from './react/FragmentRenderer';
|
|
15
16
|
export { FragmentReader } from './react/FragmentReader';
|
|
17
|
+
export { LoadableFieldReader } from './react/LoadableFieldReader';
|
|
18
|
+
export { LoadableFieldRenderer } from './react/LoadableFieldRenderer';
|
|
16
19
|
export { useResult } from './react/useResult';
|
|
17
20
|
export { useReadAndSubscribe, useSubscribeToMultiple, } from './react/useReadAndSubscribe';
|
|
18
21
|
export { useLazyReference } from './react/useLazyReference';
|
|
19
22
|
export { useRerenderOnChange } from './react/useRerenderOnChange';
|
|
20
23
|
export { RenderAfterCommit__DO_NOT_USE } from './react/RenderAfterCommit__DO_NOT_USE';
|
|
21
24
|
export { useClientSideDefer } from './loadable-hooks/useClientSideDefer';
|
|
22
|
-
export { useImperativeExposedMutationField } from './loadable-hooks/useImperativeExposedMutationField';
|
|
23
|
-
export { useSkipLimitPagination } from './loadable-hooks/useSkipLimitPagination';
|
|
24
|
-
export { useConnectionSpecPagination } from './loadable-hooks/useConnectionSpecPagination';
|
|
25
|
-
export { useImperativeLoadableField } from './loadable-hooks/useImperativeLoadableField';
|
|
25
|
+
export { useImperativeExposedMutationField, type UseImperativeLoadableFieldReturn as UseImperativeExposedMutationFieldReturn, } from './loadable-hooks/useImperativeExposedMutationField';
|
|
26
|
+
export { useSkipLimitPagination, type UseSkipLimitPaginationArgs, type UseSkipLimitReturnValue, } from './loadable-hooks/useSkipLimitPagination';
|
|
27
|
+
export { useConnectionSpecPagination, type Connection, type PageInfo, type UseConnectionSpecPaginationArgs, type UsePaginationReturnValue, } from './loadable-hooks/useConnectionSpecPagination';
|
|
28
|
+
export { useImperativeLoadableField, type UseImperativeLoadableFieldReturn, } from './loadable-hooks/useImperativeLoadableField';
|
|
26
29
|
//# sourceMappingURL=index.d.ts.map
|
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,GAC1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,KAAK,cAAc,EACnB,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,WAAW,
|
|
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.FragmentReader = 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.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.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; } });
|
|
@@ -10,7 +10,9 @@ Object.defineProperty(exports, "readPromise", { enumerable: true, get: function
|
|
|
10
10
|
Object.defineProperty(exports, "getPromiseState", { enumerable: true, get: function () { return PromiseWrapper_1.getPromiseState; } });
|
|
11
11
|
Object.defineProperty(exports, "wrapResolvedValue", { enumerable: true, get: function () { return PromiseWrapper_1.wrapResolvedValue; } });
|
|
12
12
|
Object.defineProperty(exports, "wrapPromise", { enumerable: true, get: function () { return PromiseWrapper_1.wrapPromise; } });
|
|
13
|
+
Object.defineProperty(exports, "NOT_SET", { enumerable: true, get: function () { return PromiseWrapper_1.NOT_SET; } });
|
|
13
14
|
var cache_1 = require("./core/cache");
|
|
15
|
+
Object.defineProperty(exports, "callSubscriptions", { enumerable: true, get: function () { return cache_1.callSubscriptions; } });
|
|
14
16
|
Object.defineProperty(exports, "subscribe", { enumerable: true, get: function () { return cache_1.subscribe; } });
|
|
15
17
|
Object.defineProperty(exports, "normalizeData", { enumerable: true, get: function () { return cache_1.normalizeData; } });
|
|
16
18
|
var makeNetworkRequest_1 = require("./core/makeNetworkRequest");
|
|
@@ -35,8 +37,14 @@ Object.defineProperty(exports, "IsographEnvironmentProvider", { enumerable: true
|
|
|
35
37
|
Object.defineProperty(exports, "useIsographEnvironment", { enumerable: true, get: function () { return IsographEnvironmentProvider_1.useIsographEnvironment; } });
|
|
36
38
|
var useImperativeReference_1 = require("./react/useImperativeReference");
|
|
37
39
|
Object.defineProperty(exports, "useImperativeReference", { enumerable: true, get: function () { return useImperativeReference_1.useImperativeReference; } });
|
|
40
|
+
var FragmentRenderer_1 = require("./react/FragmentRenderer");
|
|
41
|
+
Object.defineProperty(exports, "FragmentRenderer", { enumerable: true, get: function () { return FragmentRenderer_1.FragmentRenderer; } });
|
|
38
42
|
var FragmentReader_1 = require("./react/FragmentReader");
|
|
39
43
|
Object.defineProperty(exports, "FragmentReader", { enumerable: true, get: function () { return FragmentReader_1.FragmentReader; } });
|
|
44
|
+
var LoadableFieldReader_1 = require("./react/LoadableFieldReader");
|
|
45
|
+
Object.defineProperty(exports, "LoadableFieldReader", { enumerable: true, get: function () { return LoadableFieldReader_1.LoadableFieldReader; } });
|
|
46
|
+
var LoadableFieldRenderer_1 = require("./react/LoadableFieldRenderer");
|
|
47
|
+
Object.defineProperty(exports, "LoadableFieldRenderer", { enumerable: true, get: function () { return LoadableFieldRenderer_1.LoadableFieldRenderer; } });
|
|
40
48
|
var useResult_1 = require("./react/useResult");
|
|
41
49
|
Object.defineProperty(exports, "useResult", { enumerable: true, get: function () { return useResult_1.useResult; } });
|
|
42
50
|
var useReadAndSubscribe_1 = require("./react/useReadAndSubscribe");
|
|
@@ -1,16 +1,10 @@
|
|
|
1
|
-
import { ExtractParameters, FragmentReference } from '../core/FragmentReference';
|
|
2
|
-
import { LoadableField } from '../core/reader';
|
|
3
1
|
import { FetchOptions } from '../core/check';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}, TResult>(loadableField: LoadableField<TReadFromStore, TResult, ExtractParameters<TReadFromStore>>, args?: Record<PropertyKey, never>, fetchOptions?: FetchOptions): {
|
|
2
|
+
import { ExtractParameters, FragmentReference, type UnknownTReadFromStore } from '../core/FragmentReference';
|
|
3
|
+
import { LoadableField } from '../core/reader';
|
|
4
|
+
export declare function useClientSideDefer<TReadFromStore extends UnknownTReadFromStore, TResult>(loadableField: LoadableField<TReadFromStore, TResult, ExtractParameters<TReadFromStore>>, args?: Record<PropertyKey, never>, fetchOptions?: FetchOptions<TResult>): {
|
|
8
5
|
fragmentReference: FragmentReference<TReadFromStore, TResult>;
|
|
9
6
|
};
|
|
10
|
-
export declare function useClientSideDefer<TReadFromStore extends {
|
|
11
|
-
data: object;
|
|
12
|
-
parameters: object;
|
|
13
|
-
}, TResult, TProvidedArgs extends object>(loadableField: LoadableField<TReadFromStore, TResult, Omit<ExtractParameters<TReadFromStore>, keyof TProvidedArgs>>, args: Omit<ExtractParameters<TReadFromStore>, keyof TProvidedArgs>, fetchOptions?: FetchOptions): {
|
|
7
|
+
export declare function useClientSideDefer<TReadFromStore extends UnknownTReadFromStore, TResult, TProvidedArgs extends object>(loadableField: LoadableField<TReadFromStore, TResult, Omit<ExtractParameters<TReadFromStore>, keyof TProvidedArgs>>, args: Omit<ExtractParameters<TReadFromStore>, keyof TProvidedArgs>, fetchOptions?: FetchOptions<TResult>): {
|
|
14
8
|
fragmentReference: FragmentReference<TReadFromStore, TResult>;
|
|
15
9
|
};
|
|
16
10
|
//# sourceMappingURL=useClientSideDefer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useClientSideDefer.d.ts","sourceRoot":"","sources":["../../src/loadable-hooks/useClientSideDefer.ts"],"names":[],"mappings":"
|
|
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,wBAAgB,kBAAkB,CAChC,cAAc,SAAS,qBAAqB,EAC5C,OAAO,EAEP,aAAa,EAAE,aAAa,CAC1B,cAAc,EACd,OAAO,EACP,iBAAiB,CAAC,cAAc,CAAC,CAClC,EACD,IAAI,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,EACjC,YAAY,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,GACnC;IAAE,iBAAiB,EAAE,iBAAiB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC;AAErE,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,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE,MAAM,aAAa,CAAC,EAClE,YAAY,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,GACnC;IAAE,iBAAiB,EAAE,iBAAiB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.useClientSideDefer = useClientSideDefer;
|
|
4
|
-
const IsographEnvironmentProvider_1 = require("../react/IsographEnvironmentProvider");
|
|
5
|
-
const cache_1 = require("../core/cache");
|
|
6
4
|
const react_disposable_state_1 = require("@isograph/react-disposable-state");
|
|
5
|
+
const cache_1 = require("../core/cache");
|
|
6
|
+
const IsographEnvironmentProvider_1 = require("../react/IsographEnvironmentProvider");
|
|
7
7
|
function useClientSideDefer(loadableField, args, fetchOptions) {
|
|
8
8
|
const [id, loader] = loadableField(args, fetchOptions !== null && fetchOptions !== void 0 ? fetchOptions : {});
|
|
9
9
|
const environment = (0, IsographEnvironmentProvider_1.useIsographEnvironment)();
|
|
@@ -1,34 +1,27 @@
|
|
|
1
|
-
import { FragmentReference } from '../core/FragmentReference';
|
|
2
|
-
import { LoadableField } from '../core/reader';
|
|
3
1
|
import { FetchOptions } from '../core/check';
|
|
4
|
-
type
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}, TItem> = {
|
|
2
|
+
import { FragmentReference, type UnknownTReadFromStore } from '../core/FragmentReference';
|
|
3
|
+
import { LoadableField } from '../core/reader';
|
|
4
|
+
export type UsePaginationReturnValue<TReadFromStore extends UnknownTReadFromStore, TItem> = {
|
|
8
5
|
kind: 'Pending';
|
|
9
6
|
pendingFragment: FragmentReference<TReadFromStore, Connection<TItem>>;
|
|
10
7
|
results: ReadonlyArray<TItem>;
|
|
11
8
|
} | {
|
|
12
9
|
kind: 'Complete';
|
|
13
|
-
fetchMore: (count: number, fetchOptions?: FetchOptions) => void;
|
|
10
|
+
fetchMore: (count: number, fetchOptions?: FetchOptions<Connection<TItem>>) => void;
|
|
14
11
|
results: ReadonlyArray<TItem>;
|
|
15
12
|
hasNextPage: boolean;
|
|
16
13
|
};
|
|
17
|
-
type PageInfo = {
|
|
14
|
+
export type PageInfo = {
|
|
18
15
|
readonly hasNextPage: boolean;
|
|
19
16
|
readonly endCursor: string | null;
|
|
20
17
|
};
|
|
21
|
-
type Connection<T> = {
|
|
18
|
+
export type Connection<T> = {
|
|
22
19
|
readonly edges: ReadonlyArray<T> | null;
|
|
23
20
|
readonly pageInfo: PageInfo;
|
|
24
21
|
};
|
|
25
|
-
type UseConnectionSpecPaginationArgs = {
|
|
22
|
+
export type UseConnectionSpecPaginationArgs = {
|
|
26
23
|
first: number;
|
|
27
24
|
after: string | null;
|
|
28
25
|
};
|
|
29
|
-
export declare function useConnectionSpecPagination<TReadFromStore extends
|
|
30
|
-
parameters: object;
|
|
31
|
-
data: object;
|
|
32
|
-
}, TItem>(loadableField: LoadableField<TReadFromStore, Connection<TItem>, UseConnectionSpecPaginationArgs>, initialState?: PageInfo): UsePaginationReturnValue<TReadFromStore, TItem>;
|
|
33
|
-
export {};
|
|
26
|
+
export declare function useConnectionSpecPagination<TReadFromStore extends UnknownTReadFromStore, TItem>(loadableField: LoadableField<TReadFromStore, Connection<TItem>, UseConnectionSpecPaginationArgs>, initialState?: PageInfo): UsePaginationReturnValue<TReadFromStore, TItem>;
|
|
34
27
|
//# sourceMappingURL=useConnectionSpecPagination.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useConnectionSpecPagination.d.ts","sourceRoot":"","sources":["../../src/loadable-hooks/useConnectionSpecPagination.ts"],"names":[],"mappings":"AAWA,OAAO,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,UAAU,CAAC;IACjB,SAAS,EAAE,CACT,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,KAC3C,IAAI,CAAC;IACV,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9B,WAAW,EAAE,OAAO,CAAC;CACtB,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,CAsPjD"}
|
|
@@ -7,6 +7,7 @@ const react_1 = require("react");
|
|
|
7
7
|
const cache_1 = require("../core/cache");
|
|
8
8
|
const PromiseWrapper_1 = require("../core/PromiseWrapper");
|
|
9
9
|
const read_1 = require("../core/read");
|
|
10
|
+
const startUpdate_1 = require("../core/startUpdate");
|
|
10
11
|
const IsographEnvironmentProvider_1 = require("../react/IsographEnvironmentProvider");
|
|
11
12
|
const useReadAndSubscribe_1 = require("../react/useReadAndSubscribe");
|
|
12
13
|
const useResult_1 = require("../react/useResult");
|
|
@@ -39,10 +40,11 @@ function useConnectionSpecPagination(loadableField, initialState) {
|
|
|
39
40
|
if (data == null) {
|
|
40
41
|
throw new Error('Parameter data is unexpectedly null. This is indicative of a bug in Isograph.');
|
|
41
42
|
}
|
|
42
|
-
const firstParameter = {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
43
|
+
const firstParameter = Object.assign({ data, parameters: fragmentReference.variables }, (readerWithRefetchQueries.readerArtifact.hasUpdatable
|
|
44
|
+
? {
|
|
45
|
+
startUpdate: (0, startUpdate_1.getOrCreateCachedStartUpdate)(environment, fragmentReference, readerWithRefetchQueries.readerArtifact.fieldName, networkRequestOptions),
|
|
46
|
+
}
|
|
47
|
+
: undefined));
|
|
46
48
|
if (readerWithRefetchQueries.readerArtifact.kind !== 'EagerReaderArtifact') {
|
|
47
49
|
throw new Error(`@loadable field of kind "${readerWithRefetchQueries.readerArtifact.kind}" is not supported by useSkipLimitPagination`);
|
|
48
50
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
type UseImperativeLoadableFieldReturn<TArgs> = {
|
|
1
|
+
export type UseImperativeLoadableFieldReturn<TArgs> = {
|
|
2
2
|
loadField: (args: TArgs) => void;
|
|
3
3
|
};
|
|
4
4
|
export declare function useImperativeExposedMutationField<TArgs>(exposedField: (args: TArgs) => [string, () => void]): UseImperativeLoadableFieldReturn<TArgs>;
|
|
5
|
-
export {};
|
|
6
5
|
//# sourceMappingURL=useImperativeExposedMutationField.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useImperativeExposedMutationField.d.ts","sourceRoot":"","sources":["../../src/loadable-hooks/useImperativeExposedMutationField.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"useImperativeExposedMutationField.d.ts","sourceRoot":"","sources":["../../src/loadable-hooks/useImperativeExposedMutationField.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gCAAgC,CAAC,KAAK,IAAI;IACpD,SAAS,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC,CAAC;AAKF,wBAAgB,iCAAiC,CAAC,KAAK,EACrD,YAAY,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,GAClD,gCAAgC,CAAC,KAAK,CAAC,CAOzC"}
|
|
@@ -1,17 +1,15 @@
|
|
|
1
|
+
import { FetchOptions } from '../core/check';
|
|
1
2
|
import { ExtractParameters, FragmentReference } from '../core/FragmentReference';
|
|
2
|
-
import { UnassignedState } from '@isograph/react-disposable-state';
|
|
3
3
|
import { LoadableField } from '../core/reader';
|
|
4
|
-
|
|
5
|
-
type UseImperativeLoadableFieldReturn<TReadFromStore extends {
|
|
4
|
+
export type UseImperativeLoadableFieldReturn<TReadFromStore extends {
|
|
6
5
|
data: object;
|
|
7
6
|
parameters: object;
|
|
8
7
|
}, TResult, TProvidedArgs extends object> = {
|
|
9
|
-
fragmentReference: FragmentReference<TReadFromStore, TResult> |
|
|
10
|
-
loadField: (args: Omit<ExtractParameters<TReadFromStore>, keyof TProvidedArgs> | void, fetchOptions?: FetchOptions) => void;
|
|
8
|
+
fragmentReference: FragmentReference<TReadFromStore, TResult> | null;
|
|
9
|
+
loadField: (args: Omit<ExtractParameters<TReadFromStore>, keyof TProvidedArgs> | void, fetchOptions?: FetchOptions<TResult>) => void;
|
|
11
10
|
};
|
|
12
11
|
export declare function useImperativeLoadableField<TReadFromStore extends {
|
|
13
12
|
data: object;
|
|
14
13
|
parameters: object;
|
|
15
14
|
}, TResult, TProvidedArgs extends object>(loadableField: LoadableField<TReadFromStore, TResult, Omit<ExtractParameters<TReadFromStore>, keyof TProvidedArgs>>): UseImperativeLoadableFieldReturn<TReadFromStore, TResult, TProvidedArgs>;
|
|
16
|
-
export {};
|
|
17
15
|
//# sourceMappingURL=useImperativeLoadableField.d.ts.map
|