@isograph/react 0.0.0-main-9cb0e598 → 0.0.0-main-6e56aa17
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/dist/index.d.ts +1 -1
- package/dist/read.js +1 -26
- package/dist/reader.d.ts +4 -10
- package/package.json +3 -3
- package/src/index.ts +0 -2
- package/src/read.ts +1 -39
- package/src/reader.ts +4 -13
package/dist/index.d.ts
CHANGED
@@ -5,7 +5,7 @@ export { ROOT_ID, type DataId, type DataTypeValue, type IsographEnvironment, typ
|
|
5
5
|
export { IsographEnvironmentProvider, useIsographEnvironment, type IsographEnvironmentProviderProps, } from './IsographEnvironmentProvider';
|
6
6
|
export { useImperativeReference } from './useImperativeReference';
|
7
7
|
export { EntrypointReader } from './EntrypointReader';
|
8
|
-
export { EagerReaderArtifact, ComponentReaderArtifact, MutationReaderArtifact, RefetchReaderArtifact, ReaderAst, ReaderAstNode, ReaderLinkedField,
|
8
|
+
export { EagerReaderArtifact, ComponentReaderArtifact, MutationReaderArtifact, RefetchReaderArtifact, ReaderAst, ReaderAstNode, ReaderLinkedField, ReaderResolverField, ReaderResolverVariant, ReaderScalarField, } from './reader';
|
9
9
|
export { NormalizationAst, NormalizationAstNode, NormalizationLinkedField, NormalizationScalarField, IsographEntrypoint, assertIsEntrypoint, RefetchQueryNormalizationArtifact, RefetchQueryNormalizationArtifactWrapper, } from './entrypoint';
|
10
10
|
export { readButDoNotEvaluate } from './read';
|
11
11
|
export { useResult } from './useResult';
|
package/dist/read.js
CHANGED
@@ -132,7 +132,7 @@ function readData(environment, ast, root, variables, nestedRefetchQueries, mutab
|
|
132
132
|
target[(_e = field.alias) !== null && _e !== void 0 ? _e : field.fieldName] = data.data;
|
133
133
|
break;
|
134
134
|
}
|
135
|
-
case '
|
135
|
+
case 'ImperativelyLoadedField': {
|
136
136
|
const data = readData(environment, field.readerArtifact.readerAst, root, variables,
|
137
137
|
// Refetch fields just read the id, and don't need refetch query artifacts
|
138
138
|
[], mutableEncounteredRecords);
|
@@ -151,31 +151,6 @@ function readData(environment, ast, root, variables, nestedRefetchQueries, mutab
|
|
151
151
|
const refetchQuery = nestedRefetchQueries[refetchQueryIndex];
|
152
152
|
const refetchQueryArtifact = refetchQuery.artifact;
|
153
153
|
const allowedVariables = refetchQuery.allowedVariables;
|
154
|
-
target[field.alias] = field.readerArtifact.resolver(environment,
|
155
|
-
// resolvers for refetch fields take 3 args, and this is not reflected in types
|
156
|
-
refetchQueryArtifact, Object.assign(Object.assign({}, data.data), filterVariables(variables, allowedVariables)));
|
157
|
-
}
|
158
|
-
break;
|
159
|
-
}
|
160
|
-
case 'MutationField': {
|
161
|
-
const data = readData(environment, field.readerArtifact.readerAst, root, variables,
|
162
|
-
// Mutation don't need refetch query artifacts
|
163
|
-
[], mutableEncounteredRecords);
|
164
|
-
if (data.kind === 'MissingData') {
|
165
|
-
return {
|
166
|
-
kind: 'MissingData',
|
167
|
-
reason: 'Missing data for ' + field.alias + ' on root ' + root,
|
168
|
-
nestedReason: data,
|
169
|
-
};
|
170
|
-
}
|
171
|
-
else {
|
172
|
-
const refetchQueryIndex = field.refetchQuery;
|
173
|
-
if (refetchQueryIndex == null) {
|
174
|
-
throw new Error('refetchQuery is null in MutationField');
|
175
|
-
}
|
176
|
-
const refetchQuery = nestedRefetchQueries[refetchQueryIndex];
|
177
|
-
const refetchQueryArtifact = refetchQuery.artifact;
|
178
|
-
const allowedVariables = refetchQuery.allowedVariables;
|
179
154
|
target[field.alias] = field.readerArtifact.resolver(environment, refetchQueryArtifact, data.data, filterVariables(variables, allowedVariables));
|
180
155
|
}
|
181
156
|
break;
|
package/dist/reader.d.ts
CHANGED
@@ -24,7 +24,7 @@ export type MutationReaderArtifact<TReadFromStore extends Object> = {
|
|
24
24
|
readonly readerAst: ReaderAst<unknown>;
|
25
25
|
readonly resolver: (environment: IsographEnvironment, entrypoint: RefetchQueryNormalizationArtifact, readOutData: TReadFromStore, filteredVariables: any) => (mutationParams: any) => void;
|
26
26
|
};
|
27
|
-
export type ReaderAstNode = ReaderScalarField | ReaderLinkedField | ReaderResolverField |
|
27
|
+
export type ReaderAstNode = ReaderScalarField | ReaderLinkedField | ReaderResolverField | ReaderImperativelyLoadedField;
|
28
28
|
export type ReaderAst<TReadFromStore> = ReadonlyArray<ReaderAstNode>;
|
29
29
|
export type ReaderScalarField = {
|
30
30
|
readonly kind: 'Scalar';
|
@@ -52,15 +52,9 @@ export type ReaderResolverField = {
|
|
52
52
|
readonly arguments: Arguments | null;
|
53
53
|
readonly usedRefetchQueries: number[];
|
54
54
|
};
|
55
|
-
export type
|
56
|
-
readonly kind: '
|
55
|
+
export type ReaderImperativelyLoadedField = {
|
56
|
+
readonly kind: 'ImperativelyLoadedField';
|
57
57
|
readonly alias: string;
|
58
|
-
readonly readerArtifact: RefetchReaderArtifact;
|
59
|
-
readonly refetchQuery: number;
|
60
|
-
};
|
61
|
-
export type ReaderMutationField = {
|
62
|
-
readonly kind: 'MutationField';
|
63
|
-
readonly alias: string;
|
64
|
-
readonly readerArtifact: MutationReaderArtifact<any>;
|
58
|
+
readonly readerArtifact: MutationReaderArtifact<any> | RefetchReaderArtifact;
|
65
59
|
readonly refetchQuery: number;
|
66
60
|
};
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@isograph/react",
|
3
|
-
"version": "0.0.0-main-
|
3
|
+
"version": "0.0.0-main-6e56aa17",
|
4
4
|
"description": "Use Isograph with React",
|
5
5
|
"homepage": "https://isograph.dev",
|
6
6
|
"main": "dist/index.js",
|
@@ -16,8 +16,8 @@
|
|
16
16
|
"prepack": "yarn run test && yarn run compile"
|
17
17
|
},
|
18
18
|
"dependencies": {
|
19
|
-
"@isograph/disposable-types": "0.0.0-main-
|
20
|
-
"@isograph/react-disposable-state": "0.0.0-main-
|
19
|
+
"@isograph/disposable-types": "0.0.0-main-6e56aa17",
|
20
|
+
"@isograph/react-disposable-state": "0.0.0-main-6e56aa17",
|
21
21
|
"react": "^18.2.0"
|
22
22
|
},
|
23
23
|
"devDependencies": {
|
package/src/index.ts
CHANGED
package/src/read.ts
CHANGED
@@ -193,7 +193,7 @@ function readData<TReadFromStore>(
|
|
193
193
|
target[field.alias ?? field.fieldName] = data.data;
|
194
194
|
break;
|
195
195
|
}
|
196
|
-
case '
|
196
|
+
case 'ImperativelyLoadedField': {
|
197
197
|
const data = readData(
|
198
198
|
environment,
|
199
199
|
field.readerArtifact.readerAst,
|
@@ -218,44 +218,6 @@ function readData<TReadFromStore>(
|
|
218
218
|
const refetchQueryArtifact = refetchQuery.artifact;
|
219
219
|
const allowedVariables = refetchQuery.allowedVariables;
|
220
220
|
|
221
|
-
target[field.alias] = field.readerArtifact.resolver(
|
222
|
-
environment,
|
223
|
-
// resolvers for refetch fields take 3 args, and this is not reflected in types
|
224
|
-
refetchQueryArtifact,
|
225
|
-
{
|
226
|
-
// @ts-expect-error
|
227
|
-
...data.data,
|
228
|
-
...filterVariables(variables, allowedVariables),
|
229
|
-
},
|
230
|
-
);
|
231
|
-
}
|
232
|
-
break;
|
233
|
-
}
|
234
|
-
case 'MutationField': {
|
235
|
-
const data = readData(
|
236
|
-
environment,
|
237
|
-
field.readerArtifact.readerAst,
|
238
|
-
root,
|
239
|
-
variables,
|
240
|
-
// Mutation don't need refetch query artifacts
|
241
|
-
[],
|
242
|
-
mutableEncounteredRecords,
|
243
|
-
);
|
244
|
-
if (data.kind === 'MissingData') {
|
245
|
-
return {
|
246
|
-
kind: 'MissingData',
|
247
|
-
reason: 'Missing data for ' + field.alias + ' on root ' + root,
|
248
|
-
nestedReason: data,
|
249
|
-
};
|
250
|
-
} else {
|
251
|
-
const refetchQueryIndex = field.refetchQuery;
|
252
|
-
if (refetchQueryIndex == null) {
|
253
|
-
throw new Error('refetchQuery is null in MutationField');
|
254
|
-
}
|
255
|
-
const refetchQuery = nestedRefetchQueries[refetchQueryIndex];
|
256
|
-
const refetchQueryArtifact = refetchQuery.artifact;
|
257
|
-
const allowedVariables = refetchQuery.allowedVariables;
|
258
|
-
|
259
221
|
target[field.alias] = field.readerArtifact.resolver(
|
260
222
|
environment,
|
261
223
|
refetchQueryArtifact,
|
package/src/reader.ts
CHANGED
@@ -64,8 +64,7 @@ export type ReaderAstNode =
|
|
64
64
|
| ReaderScalarField
|
65
65
|
| ReaderLinkedField
|
66
66
|
| ReaderResolverField
|
67
|
-
|
|
68
|
-
| ReaderMutationField;
|
67
|
+
| ReaderImperativelyLoadedField;
|
69
68
|
|
70
69
|
// @ts-ignore
|
71
70
|
export type ReaderAst<TReadFromStore> = ReadonlyArray<ReaderAstNode>;
|
@@ -98,17 +97,9 @@ export type ReaderResolverField = {
|
|
98
97
|
readonly usedRefetchQueries: number[];
|
99
98
|
};
|
100
99
|
|
101
|
-
export type
|
102
|
-
readonly kind: '
|
100
|
+
export type ReaderImperativelyLoadedField = {
|
101
|
+
readonly kind: 'ImperativelyLoadedField';
|
103
102
|
readonly alias: string;
|
104
|
-
readonly readerArtifact: RefetchReaderArtifact;
|
105
|
-
readonly refetchQuery: number;
|
106
|
-
};
|
107
|
-
|
108
|
-
export type ReaderMutationField = {
|
109
|
-
readonly kind: 'MutationField';
|
110
|
-
readonly alias: string;
|
111
|
-
// TODO don't pass any here
|
112
|
-
readonly readerArtifact: MutationReaderArtifact<any>;
|
103
|
+
readonly readerArtifact: MutationReaderArtifact<any> | RefetchReaderArtifact;
|
113
104
|
readonly refetchQuery: number;
|
114
105
|
};
|