@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 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, ReaderMutationField, ReaderRefetchField, ReaderResolverField, ReaderResolverVariant, ReaderScalarField, } from './reader';
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 'RefetchField': {
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 | ReaderRefetchField | ReaderMutationField;
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 ReaderRefetchField = {
56
- readonly kind: 'RefetchField';
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-9cb0e598",
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-9cb0e598",
20
- "@isograph/react-disposable-state": "0.0.0-main-9cb0e598",
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
@@ -34,8 +34,6 @@ export {
34
34
  ReaderAst,
35
35
  ReaderAstNode,
36
36
  ReaderLinkedField,
37
- ReaderMutationField,
38
- ReaderRefetchField,
39
37
  ReaderResolverField,
40
38
  ReaderResolverVariant,
41
39
  ReaderScalarField,
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 'RefetchField': {
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
- | ReaderRefetchField
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 ReaderRefetchField = {
102
- readonly kind: 'RefetchField';
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
  };