@isograph/react 0.0.0-main-e524ebe1 → 0.0.0-main-a8d365e0
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-typescript.log +1 -1
- package/dist/core/FragmentReference.d.ts +6 -5
- package/dist/core/FragmentReference.d.ts.map +1 -1
- package/dist/core/IsographEnvironment.d.ts +9 -14
- package/dist/core/IsographEnvironment.d.ts.map +1 -1
- package/dist/core/PromiseWrapper.d.ts +2 -3
- package/dist/core/PromiseWrapper.d.ts.map +1 -1
- package/dist/core/PromiseWrapper.js +5 -4
- package/dist/core/cache.d.ts +7 -20
- package/dist/core/cache.d.ts.map +1 -1
- package/dist/core/entrypoint.d.ts +6 -21
- package/dist/core/entrypoint.d.ts.map +1 -1
- package/dist/core/garbageCollection.d.ts +1 -2
- package/dist/core/garbageCollection.d.ts.map +1 -1
- package/dist/core/makeNetworkRequest.d.ts +3 -12
- package/dist/core/makeNetworkRequest.d.ts.map +1 -1
- package/dist/core/read.d.ts +2 -7
- package/dist/core/read.d.ts.map +1 -1
- package/dist/core/reader.d.ts +7 -28
- package/dist/core/reader.d.ts.map +1 -1
- package/dist/core/startUpdate.d.ts +2 -7
- package/dist/core/startUpdate.d.ts.map +1 -1
- package/dist/index.d.ts +16 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/loadable-hooks/useClientSideDefer.d.ts +4 -12
- package/dist/loadable-hooks/useClientSideDefer.d.ts.map +1 -1
- package/dist/loadable-hooks/useConnectionSpecPagination.d.ts +7 -16
- package/dist/loadable-hooks/useConnectionSpecPagination.d.ts.map +1 -1
- 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 +1 -2
- package/dist/loadable-hooks/useImperativeLoadableField.d.ts.map +1 -1
- package/dist/loadable-hooks/useSkipLimitPagination.d.ts +5 -14
- package/dist/loadable-hooks/useSkipLimitPagination.d.ts.map +1 -1
- package/dist/react/FragmentReader.d.ts +1 -2
- package/dist/react/FragmentReader.d.ts.map +1 -1
- package/dist/react/useImperativeReference.d.ts +3 -13
- package/dist/react/useImperativeReference.d.ts.map +1 -1
- package/dist/react/useLazyReference.d.ts +2 -7
- package/dist/react/useLazyReference.d.ts.map +1 -1
- package/dist/react/useReadAndSubscribe.d.ts +4 -12
- package/dist/react/useReadAndSubscribe.d.ts.map +1 -1
- package/dist/react/useResult.d.ts +2 -7
- package/dist/react/useResult.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/core/FragmentReference.ts +7 -5
- package/src/core/IsographEnvironment.ts +23 -24
- package/src/core/PromiseWrapper.ts +2 -2
- package/src/core/cache.ts +7 -25
- package/src/core/entrypoint.ts +6 -21
- package/src/core/garbageCollection.ts +1 -1
- package/src/core/makeNetworkRequest.ts +8 -17
- package/src/core/read.ts +3 -6
- package/src/core/reader.ts +7 -26
- package/src/core/startUpdate.ts +6 -9
- package/src/index.ts +76 -8
- package/src/loadable-hooks/useClientSideDefer.ts +5 -16
- package/src/loadable-hooks/useConnectionSpecPagination.ts +11 -20
- package/src/loadable-hooks/useImperativeExposedMutationField.ts +1 -1
- package/src/loadable-hooks/useImperativeLoadableField.ts +1 -1
- package/src/loadable-hooks/useSkipLimitPagination.ts +10 -23
- package/src/react/FragmentReader.tsx +1 -1
- package/src/react/useImperativeReference.ts +4 -12
- package/src/react/useLazyReference.ts +2 -6
- package/src/react/useReadAndSubscribe.ts +4 -11
- package/src/react/useResult.ts +5 -7
|
@@ -8,7 +8,11 @@ import {
|
|
|
8
8
|
type NormalizationAst,
|
|
9
9
|
type NormalizationAstLoader,
|
|
10
10
|
} from './entrypoint';
|
|
11
|
-
import {
|
|
11
|
+
import {
|
|
12
|
+
ExtractParameters,
|
|
13
|
+
type FragmentReference,
|
|
14
|
+
type UnknownTReadFromStore,
|
|
15
|
+
} from './FragmentReference';
|
|
12
16
|
import {
|
|
13
17
|
garbageCollectEnvironment,
|
|
14
18
|
RetainedQuery,
|
|
@@ -24,17 +28,12 @@ import {
|
|
|
24
28
|
wrapResolvedValue,
|
|
25
29
|
} from './PromiseWrapper';
|
|
26
30
|
import { readButDoNotEvaluate } from './read';
|
|
27
|
-
import type { StartUpdate } from './reader';
|
|
28
31
|
import { startUpdate } from './startUpdate';
|
|
29
32
|
|
|
30
33
|
let networkRequestId = 0;
|
|
31
34
|
|
|
32
35
|
export function maybeMakeNetworkRequest<
|
|
33
|
-
TReadFromStore extends
|
|
34
|
-
parameters: object;
|
|
35
|
-
data: object;
|
|
36
|
-
startUpdate?: StartUpdate<object>;
|
|
37
|
-
},
|
|
36
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
38
37
|
TClientFieldValue,
|
|
39
38
|
TNormalizationAst extends NormalizationAst | NormalizationAstLoader,
|
|
40
39
|
>(
|
|
@@ -99,11 +98,7 @@ function loadNormalizationAst(
|
|
|
99
98
|
}
|
|
100
99
|
|
|
101
100
|
export function makeNetworkRequest<
|
|
102
|
-
TReadFromStore extends
|
|
103
|
-
parameters: object;
|
|
104
|
-
data: object;
|
|
105
|
-
startUpdate?: StartUpdate<object>;
|
|
106
|
-
},
|
|
101
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
107
102
|
TClientFieldValue,
|
|
108
103
|
TNormalizationAst extends NormalizationAst | NormalizationAstLoader,
|
|
109
104
|
>(
|
|
@@ -241,11 +236,7 @@ type NetworkRequestStatus =
|
|
|
241
236
|
};
|
|
242
237
|
|
|
243
238
|
function readDataForOnComplete<
|
|
244
|
-
TReadFromStore extends
|
|
245
|
-
parameters: object;
|
|
246
|
-
data: object;
|
|
247
|
-
startUpdate?: StartUpdate<object>;
|
|
248
|
-
},
|
|
239
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
249
240
|
TClientFieldValue,
|
|
250
241
|
TNormalizationAst extends NormalizationAst | NormalizationAstLoader,
|
|
251
242
|
>(
|
package/src/core/read.ts
CHANGED
|
@@ -16,6 +16,7 @@ import {
|
|
|
16
16
|
ExtractParameters,
|
|
17
17
|
FragmentReference,
|
|
18
18
|
Variables,
|
|
19
|
+
type UnknownTReadFromStore,
|
|
19
20
|
} from './FragmentReference';
|
|
20
21
|
import {
|
|
21
22
|
assertLink,
|
|
@@ -33,7 +34,7 @@ import {
|
|
|
33
34
|
wrapPromise,
|
|
34
35
|
wrapResolvedValue,
|
|
35
36
|
} from './PromiseWrapper';
|
|
36
|
-
import { ReaderAst
|
|
37
|
+
import { ReaderAst } from './reader';
|
|
37
38
|
import { startUpdate } from './startUpdate';
|
|
38
39
|
import { Arguments } from './util';
|
|
39
40
|
|
|
@@ -43,11 +44,7 @@ export type WithEncounteredRecords<T> = {
|
|
|
43
44
|
};
|
|
44
45
|
|
|
45
46
|
export function readButDoNotEvaluate<
|
|
46
|
-
TReadFromStore extends
|
|
47
|
-
parameters: object;
|
|
48
|
-
data: object;
|
|
49
|
-
startUpdate?: StartUpdate<object>;
|
|
50
|
-
},
|
|
47
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
51
48
|
>(
|
|
52
49
|
environment: IsographEnvironment,
|
|
53
50
|
fragmentReference: FragmentReference<TReadFromStore, unknown>,
|
package/src/core/reader.ts
CHANGED
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
ExtractParameters,
|
|
12
12
|
FragmentReference,
|
|
13
13
|
type ExtractStartUpdate,
|
|
14
|
+
type UnknownTReadFromStore,
|
|
14
15
|
} from './FragmentReference';
|
|
15
16
|
import {
|
|
16
17
|
ComponentOrFieldName,
|
|
@@ -20,11 +21,7 @@ import {
|
|
|
20
21
|
import { Arguments } from './util';
|
|
21
22
|
|
|
22
23
|
export type TopLevelReaderArtifact<
|
|
23
|
-
TReadFromStore extends
|
|
24
|
-
parameters: object;
|
|
25
|
-
data: object;
|
|
26
|
-
startUpdate?: StartUpdate<object>;
|
|
27
|
-
},
|
|
24
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
28
25
|
TClientFieldValue,
|
|
29
26
|
TComponentProps extends Record<PropertyKey, never>,
|
|
30
27
|
> =
|
|
@@ -32,11 +29,7 @@ export type TopLevelReaderArtifact<
|
|
|
32
29
|
| ComponentReaderArtifact<TReadFromStore, TComponentProps>;
|
|
33
30
|
|
|
34
31
|
export type EagerReaderArtifact<
|
|
35
|
-
TReadFromStore extends
|
|
36
|
-
parameters: object;
|
|
37
|
-
data: object;
|
|
38
|
-
startUpdate?: StartUpdate<object>;
|
|
39
|
-
},
|
|
32
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
40
33
|
TClientFieldValue,
|
|
41
34
|
> = {
|
|
42
35
|
readonly kind: 'EagerReaderArtifact';
|
|
@@ -48,11 +41,7 @@ export type EagerReaderArtifact<
|
|
|
48
41
|
};
|
|
49
42
|
|
|
50
43
|
export type ComponentReaderArtifact<
|
|
51
|
-
TReadFromStore extends
|
|
52
|
-
parameters: object;
|
|
53
|
-
data: object;
|
|
54
|
-
startUpdate?: StartUpdate<object>;
|
|
55
|
-
},
|
|
44
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
56
45
|
TComponentProps extends Record<string, unknown> = Record<PropertyKey, never>,
|
|
57
46
|
> = {
|
|
58
47
|
readonly kind: 'ComponentReaderArtifact';
|
|
@@ -66,11 +55,7 @@ export type ComponentReaderArtifact<
|
|
|
66
55
|
};
|
|
67
56
|
|
|
68
57
|
export type ResolverFirstParameter<
|
|
69
|
-
TReadFromStore extends
|
|
70
|
-
data: object;
|
|
71
|
-
parameters: object;
|
|
72
|
-
startUpdate?: StartUpdate<object>;
|
|
73
|
-
},
|
|
58
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
74
59
|
> = {
|
|
75
60
|
data: ExtractData<TReadFromStore>;
|
|
76
61
|
parameters: ExtractParameters<TReadFromStore>;
|
|
@@ -167,7 +152,7 @@ export type ReaderLoadableField = {
|
|
|
167
152
|
| IsographEntrypointLoader<any, any>;
|
|
168
153
|
};
|
|
169
154
|
|
|
170
|
-
type StableId = string;
|
|
155
|
+
export type StableId = string;
|
|
171
156
|
/// Why is LoadableField the way it is? Let's work backwards.
|
|
172
157
|
///
|
|
173
158
|
/// We ultimately need a stable id (for deduplication) and a way to produce a
|
|
@@ -178,11 +163,7 @@ type StableId = string;
|
|
|
178
163
|
/// except to stringify the args or whatnot. Calling the factory can be
|
|
179
164
|
/// expensive. For example, doing so will probably trigger a network request.
|
|
180
165
|
export type LoadableField<
|
|
181
|
-
TReadFromStore extends
|
|
182
|
-
data: object;
|
|
183
|
-
parameters: object;
|
|
184
|
-
startUpdate?: StartUpdate<object>;
|
|
185
|
-
},
|
|
166
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
186
167
|
TResult,
|
|
187
168
|
TArgs = ExtractParameters<TReadFromStore>,
|
|
188
169
|
> = (
|
package/src/core/startUpdate.ts
CHANGED
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type {
|
|
2
|
+
ExtractData,
|
|
3
|
+
ExtractStartUpdate,
|
|
4
|
+
UnknownTReadFromStore,
|
|
5
|
+
} from './FragmentReference';
|
|
2
6
|
import type { IsographEnvironment } from './IsographEnvironment';
|
|
3
|
-
import type { StartUpdate } from './reader';
|
|
4
7
|
|
|
5
|
-
export function startUpdate<
|
|
6
|
-
TReadFromStore extends {
|
|
7
|
-
parameters: object;
|
|
8
|
-
data: object;
|
|
9
|
-
startUpdate?: StartUpdate<object>;
|
|
10
|
-
},
|
|
11
|
-
>(
|
|
8
|
+
export function startUpdate<TReadFromStore extends UnknownTReadFromStore>(
|
|
12
9
|
_environment: IsographEnvironment,
|
|
13
10
|
_data: ExtractData<TReadFromStore>,
|
|
14
11
|
): ExtractStartUpdate<TReadFromStore> {
|
package/src/index.ts
CHANGED
|
@@ -3,6 +3,7 @@ export {
|
|
|
3
3
|
unretainQuery,
|
|
4
4
|
type RetainedQuery,
|
|
5
5
|
garbageCollectEnvironment,
|
|
6
|
+
type DidUnretainSomeQuery,
|
|
6
7
|
} from './core/garbageCollection';
|
|
7
8
|
export {
|
|
8
9
|
type PromiseWrapper,
|
|
@@ -10,8 +11,20 @@ export {
|
|
|
10
11
|
getPromiseState,
|
|
11
12
|
wrapResolvedValue,
|
|
12
13
|
wrapPromise,
|
|
14
|
+
type PromiseState,
|
|
15
|
+
type Result,
|
|
16
|
+
type AnyError,
|
|
17
|
+
type NotSet,
|
|
18
|
+
NOT_SET,
|
|
13
19
|
} from './core/PromiseWrapper';
|
|
14
|
-
export {
|
|
20
|
+
export {
|
|
21
|
+
subscribe,
|
|
22
|
+
normalizeData,
|
|
23
|
+
type NetworkResponseObject,
|
|
24
|
+
type NetworkResponseValue,
|
|
25
|
+
type NetworkResponseScalarValue,
|
|
26
|
+
type EncounteredIds,
|
|
27
|
+
} from './core/cache';
|
|
15
28
|
export { makeNetworkRequest } from './core/makeNetworkRequest';
|
|
16
29
|
export {
|
|
17
30
|
ROOT_ID,
|
|
@@ -20,10 +33,21 @@ export {
|
|
|
20
33
|
type IsographEnvironment,
|
|
21
34
|
type IsographNetworkFunction,
|
|
22
35
|
type IsographStore,
|
|
36
|
+
type MissingFieldHandler,
|
|
23
37
|
type Link,
|
|
24
38
|
type StoreRecord,
|
|
39
|
+
type CacheMap,
|
|
25
40
|
createIsographEnvironment,
|
|
26
41
|
createIsographStore,
|
|
42
|
+
type ComponentCache,
|
|
43
|
+
type Subscriptions,
|
|
44
|
+
type Subscription,
|
|
45
|
+
type TypeName,
|
|
46
|
+
type FragmentSubscription,
|
|
47
|
+
type AnyChangesToRecordSubscription,
|
|
48
|
+
type AnyRecordSubscription,
|
|
49
|
+
type ComponentOrFieldName,
|
|
50
|
+
type StringifiedArgs,
|
|
27
51
|
} from './core/IsographEnvironment';
|
|
28
52
|
export {
|
|
29
53
|
type EagerReaderArtifact,
|
|
@@ -36,11 +60,17 @@ export {
|
|
|
36
60
|
type ReaderScalarField,
|
|
37
61
|
type TopLevelReaderArtifact,
|
|
38
62
|
type LoadableField,
|
|
63
|
+
type StableId,
|
|
39
64
|
type ResolverFirstParameter,
|
|
65
|
+
type ReaderImperativelyLoadedField,
|
|
66
|
+
type ReaderLoadableField,
|
|
67
|
+
type ReaderLinkeField,
|
|
68
|
+
type StartUpdate,
|
|
40
69
|
} from './core/reader';
|
|
41
70
|
export {
|
|
42
71
|
type NormalizationAst,
|
|
43
72
|
type NormalizationAstNode,
|
|
73
|
+
type NormalizationAstNodes,
|
|
44
74
|
type NormalizationAstLoader,
|
|
45
75
|
type NormalizationLinkedField,
|
|
46
76
|
type NormalizationScalarField,
|
|
@@ -52,10 +82,15 @@ export {
|
|
|
52
82
|
type ExtractReadFromStore,
|
|
53
83
|
type ExtractResolverResult,
|
|
54
84
|
type NetworkRequestInfo,
|
|
85
|
+
type NormalizationInlineFragment,
|
|
86
|
+
type ReaderWithRefetchQueries,
|
|
87
|
+
type IsographEntrypointLoader,
|
|
55
88
|
} from './core/entrypoint';
|
|
56
89
|
export {
|
|
57
90
|
readButDoNotEvaluate,
|
|
91
|
+
type WithEncounteredRecords,
|
|
58
92
|
type NetworkRequestReaderOptions,
|
|
93
|
+
type ReadDataResult,
|
|
59
94
|
} from './core/read';
|
|
60
95
|
export {
|
|
61
96
|
type ExtractSecondParam,
|
|
@@ -70,23 +105,40 @@ export {
|
|
|
70
105
|
type Variables,
|
|
71
106
|
type ExtractParameters,
|
|
72
107
|
type ExtractData,
|
|
108
|
+
type UnknownTReadFromStore,
|
|
73
109
|
stableIdForFragmentReference,
|
|
110
|
+
type ExtractStartUpdate,
|
|
111
|
+
type VariableValue,
|
|
74
112
|
} from './core/FragmentReference';
|
|
75
113
|
export {
|
|
76
114
|
type LogMessage,
|
|
77
115
|
type LogFunction,
|
|
116
|
+
type WrappedLogFunction,
|
|
78
117
|
logMessage,
|
|
79
118
|
registerLogger,
|
|
80
119
|
} from './core/logging';
|
|
81
|
-
export {
|
|
120
|
+
export {
|
|
121
|
+
check,
|
|
122
|
+
type CheckResult,
|
|
123
|
+
type FetchOptions,
|
|
124
|
+
type RequiredFetchOptions,
|
|
125
|
+
type ShouldFetch,
|
|
126
|
+
type RequiredShouldFetch,
|
|
127
|
+
} from './core/check';
|
|
82
128
|
|
|
83
129
|
export {
|
|
84
130
|
IsographEnvironmentProvider,
|
|
85
131
|
useIsographEnvironment,
|
|
86
132
|
type IsographEnvironmentProviderProps,
|
|
87
133
|
} from './react/IsographEnvironmentProvider';
|
|
88
|
-
export {
|
|
89
|
-
|
|
134
|
+
export {
|
|
135
|
+
useImperativeReference,
|
|
136
|
+
type UseImperativeReferenceResult,
|
|
137
|
+
} from './react/useImperativeReference';
|
|
138
|
+
export {
|
|
139
|
+
FragmentReader,
|
|
140
|
+
type IsExactlyIntrinsicAttributes,
|
|
141
|
+
} from './react/FragmentReader';
|
|
90
142
|
export { useResult } from './react/useResult';
|
|
91
143
|
export {
|
|
92
144
|
useReadAndSubscribe,
|
|
@@ -97,7 +149,23 @@ export { useRerenderOnChange } from './react/useRerenderOnChange';
|
|
|
97
149
|
export { RenderAfterCommit__DO_NOT_USE } from './react/RenderAfterCommit__DO_NOT_USE';
|
|
98
150
|
|
|
99
151
|
export { useClientSideDefer } from './loadable-hooks/useClientSideDefer';
|
|
100
|
-
export {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
152
|
+
export {
|
|
153
|
+
useImperativeExposedMutationField,
|
|
154
|
+
type UseImperativeLoadableFieldReturn as UseImperativeExposedMutationFieldReturn,
|
|
155
|
+
} from './loadable-hooks/useImperativeExposedMutationField';
|
|
156
|
+
export {
|
|
157
|
+
useSkipLimitPagination,
|
|
158
|
+
type UseSkipLimitPaginationArgs,
|
|
159
|
+
type UseSkipLimitReturnValue,
|
|
160
|
+
} from './loadable-hooks/useSkipLimitPagination';
|
|
161
|
+
export {
|
|
162
|
+
useConnectionSpecPagination,
|
|
163
|
+
type Connection,
|
|
164
|
+
type PageInfo,
|
|
165
|
+
type UseConnectionSpecPaginationArgs,
|
|
166
|
+
type UsePaginationReturnValue,
|
|
167
|
+
} from './loadable-hooks/useConnectionSpecPagination';
|
|
168
|
+
export {
|
|
169
|
+
useImperativeLoadableField,
|
|
170
|
+
type UseImperativeLoadableFieldReturn,
|
|
171
|
+
} from './loadable-hooks/useImperativeLoadableField';
|
|
@@ -4,16 +4,13 @@ import { FetchOptions } from '../core/check';
|
|
|
4
4
|
import {
|
|
5
5
|
ExtractParameters,
|
|
6
6
|
FragmentReference,
|
|
7
|
+
type UnknownTReadFromStore,
|
|
7
8
|
} from '../core/FragmentReference';
|
|
8
|
-
import { LoadableField
|
|
9
|
+
import { LoadableField } from '../core/reader';
|
|
9
10
|
import { useIsographEnvironment } from '../react/IsographEnvironmentProvider';
|
|
10
11
|
|
|
11
12
|
export function useClientSideDefer<
|
|
12
|
-
TReadFromStore extends
|
|
13
|
-
data: object;
|
|
14
|
-
parameters: object;
|
|
15
|
-
startUpdate?: StartUpdate<object>;
|
|
16
|
-
},
|
|
13
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
17
14
|
TResult,
|
|
18
15
|
>(
|
|
19
16
|
loadableField: LoadableField<
|
|
@@ -26,11 +23,7 @@ export function useClientSideDefer<
|
|
|
26
23
|
): { fragmentReference: FragmentReference<TReadFromStore, TResult> };
|
|
27
24
|
|
|
28
25
|
export function useClientSideDefer<
|
|
29
|
-
TReadFromStore extends
|
|
30
|
-
data: object;
|
|
31
|
-
parameters: object;
|
|
32
|
-
startUpdate?: StartUpdate<object>;
|
|
33
|
-
},
|
|
26
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
34
27
|
TResult,
|
|
35
28
|
TProvidedArgs extends object,
|
|
36
29
|
>(
|
|
@@ -44,11 +37,7 @@ export function useClientSideDefer<
|
|
|
44
37
|
): { fragmentReference: FragmentReference<TReadFromStore, TResult> };
|
|
45
38
|
|
|
46
39
|
export function useClientSideDefer<
|
|
47
|
-
TReadFromStore extends
|
|
48
|
-
data: object;
|
|
49
|
-
parameters: object;
|
|
50
|
-
startUpdate?: StartUpdate<object>;
|
|
51
|
-
},
|
|
40
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
52
41
|
TResult,
|
|
53
42
|
TProvidedArgs extends object,
|
|
54
43
|
>(
|
|
@@ -10,28 +10,23 @@ import {
|
|
|
10
10
|
import { useState } from 'react';
|
|
11
11
|
import { subscribeToAnyChange } from '../core/cache';
|
|
12
12
|
import { FetchOptions } from '../core/check';
|
|
13
|
-
import {
|
|
13
|
+
import {
|
|
14
|
+
FragmentReference,
|
|
15
|
+
type UnknownTReadFromStore,
|
|
16
|
+
} from '../core/FragmentReference';
|
|
14
17
|
import { getPromiseState, readPromise } from '../core/PromiseWrapper';
|
|
15
18
|
import {
|
|
16
19
|
readButDoNotEvaluate,
|
|
17
20
|
type WithEncounteredRecords,
|
|
18
21
|
} from '../core/read';
|
|
19
|
-
import {
|
|
20
|
-
LoadableField,
|
|
21
|
-
type ReaderAst,
|
|
22
|
-
type StartUpdate,
|
|
23
|
-
} from '../core/reader';
|
|
22
|
+
import { LoadableField, type ReaderAst } from '../core/reader';
|
|
24
23
|
import { startUpdate } from '../core/startUpdate';
|
|
25
24
|
import { useIsographEnvironment } from '../react/IsographEnvironmentProvider';
|
|
26
25
|
import { useSubscribeToMultiple } from '../react/useReadAndSubscribe';
|
|
27
26
|
import { maybeUnwrapNetworkRequest } from '../react/useResult';
|
|
28
27
|
|
|
29
|
-
type UsePaginationReturnValue<
|
|
30
|
-
TReadFromStore extends
|
|
31
|
-
parameters: object;
|
|
32
|
-
data: object;
|
|
33
|
-
startUpdate?: StartUpdate<object>;
|
|
34
|
-
},
|
|
28
|
+
export type UsePaginationReturnValue<
|
|
29
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
35
30
|
TItem,
|
|
36
31
|
> =
|
|
37
32
|
| {
|
|
@@ -71,12 +66,12 @@ function flatten<T>(arr: ReadonlyArray<ReadonlyArray<T>>): ReadonlyArray<T> {
|
|
|
71
66
|
return outArray;
|
|
72
67
|
}
|
|
73
68
|
|
|
74
|
-
type PageInfo = {
|
|
69
|
+
export type PageInfo = {
|
|
75
70
|
readonly hasNextPage: boolean;
|
|
76
71
|
readonly endCursor: string | null;
|
|
77
72
|
};
|
|
78
73
|
|
|
79
|
-
type Connection<T> = {
|
|
74
|
+
export type Connection<T> = {
|
|
80
75
|
readonly edges: ReadonlyArray<T> | null;
|
|
81
76
|
readonly pageInfo: PageInfo;
|
|
82
77
|
};
|
|
@@ -86,17 +81,13 @@ type NonNullConnection<T> = {
|
|
|
86
81
|
readonly pageInfo: PageInfo;
|
|
87
82
|
};
|
|
88
83
|
|
|
89
|
-
type UseConnectionSpecPaginationArgs = {
|
|
84
|
+
export type UseConnectionSpecPaginationArgs = {
|
|
90
85
|
first: number;
|
|
91
86
|
after: string | null;
|
|
92
87
|
};
|
|
93
88
|
|
|
94
89
|
export function useConnectionSpecPagination<
|
|
95
|
-
TReadFromStore extends
|
|
96
|
-
parameters: object;
|
|
97
|
-
data: object;
|
|
98
|
-
startUpdate?: StartUpdate<object>;
|
|
99
|
-
},
|
|
90
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
100
91
|
TItem,
|
|
101
92
|
>(
|
|
102
93
|
loadableField: LoadableField<
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
} from '../core/FragmentReference';
|
|
10
10
|
import { LoadableField } from '../core/reader';
|
|
11
11
|
|
|
12
|
-
type UseImperativeLoadableFieldReturn<
|
|
12
|
+
export type UseImperativeLoadableFieldReturn<
|
|
13
13
|
TReadFromStore extends { data: object; parameters: object },
|
|
14
14
|
TResult,
|
|
15
15
|
TProvidedArgs extends object,
|
|
@@ -10,28 +10,23 @@ import {
|
|
|
10
10
|
import { useState } from 'react';
|
|
11
11
|
import { subscribeToAnyChange } from '../core/cache';
|
|
12
12
|
import { FetchOptions } from '../core/check';
|
|
13
|
-
import {
|
|
13
|
+
import {
|
|
14
|
+
FragmentReference,
|
|
15
|
+
type UnknownTReadFromStore,
|
|
16
|
+
} from '../core/FragmentReference';
|
|
14
17
|
import { getPromiseState, readPromise } from '../core/PromiseWrapper';
|
|
15
18
|
import {
|
|
16
19
|
readButDoNotEvaluate,
|
|
17
20
|
type WithEncounteredRecords,
|
|
18
21
|
} from '../core/read';
|
|
19
|
-
import {
|
|
20
|
-
LoadableField,
|
|
21
|
-
type ReaderAst,
|
|
22
|
-
type StartUpdate,
|
|
23
|
-
} from '../core/reader';
|
|
22
|
+
import { LoadableField, type ReaderAst } from '../core/reader';
|
|
24
23
|
import { startUpdate } from '../core/startUpdate';
|
|
25
24
|
import { useIsographEnvironment } from '../react/IsographEnvironmentProvider';
|
|
26
25
|
import { useSubscribeToMultiple } from '../react/useReadAndSubscribe';
|
|
27
26
|
import { maybeUnwrapNetworkRequest } from '../react/useResult';
|
|
28
27
|
|
|
29
|
-
type UseSkipLimitReturnValue<
|
|
30
|
-
TReadFromStore extends
|
|
31
|
-
data: object;
|
|
32
|
-
parameters: object;
|
|
33
|
-
startUpdate?: StartUpdate<object>;
|
|
34
|
-
},
|
|
28
|
+
export type UseSkipLimitReturnValue<
|
|
29
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
35
30
|
TItem,
|
|
36
31
|
> =
|
|
37
32
|
| {
|
|
@@ -52,11 +47,7 @@ type UseSkipLimitReturnValue<
|
|
|
52
47
|
};
|
|
53
48
|
|
|
54
49
|
type ArrayFragmentReference<
|
|
55
|
-
TReadFromStore extends
|
|
56
|
-
parameters: object;
|
|
57
|
-
data: object;
|
|
58
|
-
startUpdate?: StartUpdate<object>;
|
|
59
|
-
},
|
|
50
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
60
51
|
TItem,
|
|
61
52
|
> = FragmentReference<TReadFromStore, ReadonlyArray<TItem>>;
|
|
62
53
|
|
|
@@ -82,18 +73,14 @@ function flatten<T>(arr: ReadonlyArray<ReadonlyArray<T>>): ReadonlyArray<T> {
|
|
|
82
73
|
return outArray;
|
|
83
74
|
}
|
|
84
75
|
|
|
85
|
-
type UseSkipLimitPaginationArgs = {
|
|
76
|
+
export type UseSkipLimitPaginationArgs = {
|
|
86
77
|
skip: number;
|
|
87
78
|
limit: number;
|
|
88
79
|
};
|
|
89
80
|
|
|
90
81
|
export function useSkipLimitPagination<
|
|
91
82
|
TItem,
|
|
92
|
-
TReadFromStore extends
|
|
93
|
-
parameters: object;
|
|
94
|
-
data: object;
|
|
95
|
-
startUpdate?: StartUpdate<object>;
|
|
96
|
-
},
|
|
83
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
97
84
|
>(
|
|
98
85
|
loadableField: LoadableField<
|
|
99
86
|
TReadFromStore,
|
|
@@ -4,7 +4,7 @@ import { FragmentReference } from '../core/FragmentReference';
|
|
|
4
4
|
import { NetworkRequestReaderOptions } from '../core/read';
|
|
5
5
|
import { useResult } from './useResult';
|
|
6
6
|
|
|
7
|
-
type IsExactlyIntrinsicAttributes<T> = T extends JSX.IntrinsicAttributes
|
|
7
|
+
export type IsExactlyIntrinsicAttributes<T> = T extends JSX.IntrinsicAttributes
|
|
8
8
|
? JSX.IntrinsicAttributes extends T
|
|
9
9
|
? true
|
|
10
10
|
: false
|
|
@@ -11,19 +11,15 @@ import {
|
|
|
11
11
|
import {
|
|
12
12
|
ExtractParameters,
|
|
13
13
|
FragmentReference,
|
|
14
|
+
type UnknownTReadFromStore,
|
|
14
15
|
} from '../core/FragmentReference';
|
|
15
16
|
import { ROOT_ID } from '../core/IsographEnvironment';
|
|
16
17
|
import { maybeMakeNetworkRequest } from '../core/makeNetworkRequest';
|
|
17
18
|
import { wrapResolvedValue } from '../core/PromiseWrapper';
|
|
18
|
-
import type { StartUpdate } from '../core/reader';
|
|
19
19
|
import { useIsographEnvironment } from './IsographEnvironmentProvider';
|
|
20
20
|
|
|
21
|
-
type UseImperativeReferenceResult<
|
|
22
|
-
TReadFromStore extends
|
|
23
|
-
parameters: object;
|
|
24
|
-
data: object;
|
|
25
|
-
startUpdate?: StartUpdate<object>;
|
|
26
|
-
},
|
|
21
|
+
export type UseImperativeReferenceResult<
|
|
22
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
27
23
|
TClientFieldValue,
|
|
28
24
|
TNormalizationAst extends NormalizationAst | NormalizationAstLoader,
|
|
29
25
|
> = {
|
|
@@ -40,11 +36,7 @@ type UseImperativeReferenceResult<
|
|
|
40
36
|
};
|
|
41
37
|
|
|
42
38
|
export function useImperativeReference<
|
|
43
|
-
TReadFromStore extends
|
|
44
|
-
parameters: object;
|
|
45
|
-
data: object;
|
|
46
|
-
startUpdate?: StartUpdate<object>;
|
|
47
|
-
},
|
|
39
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
48
40
|
TClientFieldValue,
|
|
49
41
|
TNormalizationAst extends NormalizationAst | NormalizationAstLoader,
|
|
50
42
|
>(
|
|
@@ -9,17 +9,13 @@ import {
|
|
|
9
9
|
import {
|
|
10
10
|
ExtractParameters,
|
|
11
11
|
FragmentReference,
|
|
12
|
+
type UnknownTReadFromStore,
|
|
12
13
|
} from '../core/FragmentReference';
|
|
13
14
|
import { logMessage } from '../core/logging';
|
|
14
|
-
import type { StartUpdate } from '../core/reader';
|
|
15
15
|
import { useIsographEnvironment } from './IsographEnvironmentProvider';
|
|
16
16
|
|
|
17
17
|
export function useLazyReference<
|
|
18
|
-
TReadFromStore extends
|
|
19
|
-
parameters: object;
|
|
20
|
-
data: object;
|
|
21
|
-
startUpdate?: StartUpdate<object>;
|
|
22
|
-
},
|
|
18
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
23
19
|
TClientFieldValue,
|
|
24
20
|
TNormalizationAst extends NormalizationAst | NormalizationAstLoader,
|
|
25
21
|
>(
|
|
@@ -4,13 +4,14 @@ import {
|
|
|
4
4
|
ExtractData,
|
|
5
5
|
FragmentReference,
|
|
6
6
|
stableIdForFragmentReference,
|
|
7
|
+
type UnknownTReadFromStore,
|
|
7
8
|
} from '../core/FragmentReference';
|
|
8
9
|
import {
|
|
9
10
|
NetworkRequestReaderOptions,
|
|
10
11
|
readButDoNotEvaluate,
|
|
11
12
|
WithEncounteredRecords,
|
|
12
13
|
} from '../core/read';
|
|
13
|
-
import type { ReaderAst
|
|
14
|
+
import type { ReaderAst } from '../core/reader';
|
|
14
15
|
import { useIsographEnvironment } from './IsographEnvironmentProvider';
|
|
15
16
|
import { useRerenderOnChange } from './useRerenderOnChange';
|
|
16
17
|
|
|
@@ -18,11 +19,7 @@ import { useRerenderOnChange } from './useRerenderOnChange';
|
|
|
18
19
|
* Read the data from a fragment reference and subscribe to updates.
|
|
19
20
|
*/
|
|
20
21
|
export function useReadAndSubscribe<
|
|
21
|
-
TReadFromStore extends
|
|
22
|
-
parameters: object;
|
|
23
|
-
data: object;
|
|
24
|
-
startUpdate?: StartUpdate<object>;
|
|
25
|
-
},
|
|
22
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
26
23
|
>(
|
|
27
24
|
fragmentReference: FragmentReference<TReadFromStore, any>,
|
|
28
25
|
networkRequestOptions: NetworkRequestReaderOptions,
|
|
@@ -42,11 +39,7 @@ export function useReadAndSubscribe<
|
|
|
42
39
|
}
|
|
43
40
|
|
|
44
41
|
export function useSubscribeToMultiple<
|
|
45
|
-
TReadFromStore extends
|
|
46
|
-
parameters: object;
|
|
47
|
-
data: object;
|
|
48
|
-
startUpdate?: StartUpdate<object>;
|
|
49
|
-
},
|
|
42
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
50
43
|
>(
|
|
51
44
|
items: ReadonlyArray<{
|
|
52
45
|
records: WithEncounteredRecords<TReadFromStore>;
|
package/src/react/useResult.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { getOrCreateCachedComponent } from '../core/componentCache';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
FragmentReference,
|
|
4
|
+
type UnknownTReadFromStore,
|
|
5
|
+
} from '../core/FragmentReference';
|
|
3
6
|
import {
|
|
4
7
|
getPromiseState,
|
|
5
8
|
PromiseWrapper,
|
|
@@ -9,17 +12,12 @@ import {
|
|
|
9
12
|
getNetworkRequestOptionsWithDefaults,
|
|
10
13
|
NetworkRequestReaderOptions,
|
|
11
14
|
} from '../core/read';
|
|
12
|
-
import type { StartUpdate } from '../core/reader';
|
|
13
15
|
import { startUpdate } from '../core/startUpdate';
|
|
14
16
|
import { useIsographEnvironment } from '../react/IsographEnvironmentProvider';
|
|
15
17
|
import { useReadAndSubscribe } from './useReadAndSubscribe';
|
|
16
18
|
|
|
17
19
|
export function useResult<
|
|
18
|
-
TReadFromStore extends
|
|
19
|
-
parameters: object;
|
|
20
|
-
data: object;
|
|
21
|
-
startUpdate?: StartUpdate<object>;
|
|
22
|
-
},
|
|
20
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
23
21
|
TClientFieldValue,
|
|
24
22
|
>(
|
|
25
23
|
fragmentReference: FragmentReference<TReadFromStore, TClientFieldValue>,
|