@isograph/react 0.0.0-main-3b6a3c06 → 0.0.0-main-e634679c

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.
@@ -21,7 +21,7 @@ function getOrCreateCachedComponent(environment, root, componentName, readerArti
21
21
  variables,
22
22
  nestedRefetchQueries: resolverRefetchQueries,
23
23
  });
24
- return readerArtifact.resolver(Object.assign({ data }, additionalRuntimeProps));
24
+ return readerArtifact.resolver(data, additionalRuntimeProps);
25
25
  }
26
26
  Component.displayName = `${componentName} (id: ${root}) @component`;
27
27
  return Component;
package/dist/index.d.ts CHANGED
@@ -14,11 +14,12 @@ export type IsographEntrypoint<TReadFromStore extends Object, TResolverProps, TR
14
14
  export type ReaderArtifact<TReadFromStore extends Object, TResolverProps, TResolverResult> = {
15
15
  kind: 'ReaderArtifact';
16
16
  readerAst: ReaderAst<TReadFromStore>;
17
- resolver: (data: TResolverProps) => TResolverResult;
17
+ resolver: (data: TResolverProps, runtimeProps: any) => TResolverResult;
18
18
  variant: ReaderResolverVariant;
19
19
  };
20
20
  export type ReaderAstNode = ReaderScalarField | ReaderLinkedField | ReaderResolverField | ReaderRefetchField | ReaderMutationField;
21
21
  export type ReaderAst<TReadFromStore> = ReaderAstNode[];
22
+ export type ExtractSecondParam<T extends (arg1: any, arg2: any) => any> = T extends (arg1: any, arg2: infer P) => any ? P : never;
22
23
  export type ReaderScalarField = {
23
24
  kind: 'Scalar';
24
25
  fieldName: string;
package/dist/index.js CHANGED
@@ -218,7 +218,6 @@ function readData(environment, ast, root, variables, nestedRefetchQueries) {
218
218
  const allowedVariables = refetchQuery.allowedVariables;
219
219
  target[field.alias] = field.readerArtifact.resolver(environment,
220
220
  // resolvers for refetch fields take 3 args, and this is not reflected in types
221
- // @ts-expect-error
222
221
  refetchQueryArtifact, Object.assign(Object.assign({}, data.data), filterVariables(variables, allowedVariables)));
223
222
  }
224
223
  break;
@@ -245,9 +244,9 @@ function readData(environment, ast, root, variables, nestedRefetchQueries) {
245
244
  const refetchQuery = nestedRefetchQueries[refetchQueryIndex];
246
245
  const refetchQueryArtifact = refetchQuery.artifact;
247
246
  const allowedVariables = refetchQuery.allowedVariables;
248
- target[field.alias] = field.readerArtifact.resolver(environment,
247
+ target[field.alias] = field.readerArtifact.resolver(environment, refetchQueryArtifact,
249
248
  // @ts-expect-error
250
- refetchQueryArtifact, data.data, filterVariables(variables, allowedVariables));
249
+ data.data, filterVariables(variables, allowedVariables));
251
250
  }
252
251
  break;
253
252
  }
@@ -265,6 +264,7 @@ function readData(environment, ast, root, variables, nestedRefetchQueries) {
265
264
  };
266
265
  }
267
266
  else {
267
+ // @ts-expect-error
268
268
  target[field.alias] = field.readerArtifact.resolver(data.data);
269
269
  }
270
270
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@isograph/react",
3
- "version": "0.0.0-main-3b6a3c06",
3
+ "version": "0.0.0-main-e634679c",
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-3b6a3c06",
20
- "@isograph/react-disposable-state": "0.0.0-main-3b6a3c06",
19
+ "@isograph/disposable-types": "0.0.0-main-e634679c",
20
+ "@isograph/react-disposable-state": "0.0.0-main-e634679c",
21
21
  "react": "^18.2.0"
22
22
  },
23
23
  "devDependencies": {
@@ -32,10 +32,7 @@ export function getOrCreateCachedComponent(
32
32
  nestedRefetchQueries: resolverRefetchQueries,
33
33
  });
34
34
 
35
- return readerArtifact.resolver({
36
- data,
37
- ...additionalRuntimeProps,
38
- });
35
+ return readerArtifact.resolver(data, additionalRuntimeProps);
39
36
  }
40
37
  Component.displayName = `${componentName} (id: ${root}) @component`;
41
38
  return Component;
package/src/index.tsx CHANGED
@@ -56,6 +56,8 @@ export type IsographEntrypoint<
56
56
  nestedRefetchQueries: RefetchQueryArtifactWrapper[];
57
57
  };
58
58
 
59
+ // TODO this should probably be at least three distinct types, for @component,
60
+ // non-@component and refetch resolvers
59
61
  export type ReaderArtifact<
60
62
  TReadFromStore extends Object,
61
63
  TResolverProps,
@@ -63,7 +65,7 @@ export type ReaderArtifact<
63
65
  > = {
64
66
  kind: 'ReaderArtifact';
65
67
  readerAst: ReaderAst<TReadFromStore>;
66
- resolver: (data: TResolverProps) => TResolverResult;
68
+ resolver: (data: TResolverProps, runtimeProps: any) => TResolverResult;
67
69
  variant: ReaderResolverVariant;
68
70
  };
69
71
 
@@ -77,6 +79,9 @@ export type ReaderAstNode =
77
79
  // @ts-ignore
78
80
  export type ReaderAst<TReadFromStore> = ReaderAstNode[];
79
81
 
82
+ export type ExtractSecondParam<T extends (arg1: any, arg2: any) => any> =
83
+ T extends (arg1: any, arg2: infer P) => any ? P : never;
84
+
80
85
  export type ReaderScalarField = {
81
86
  kind: 'Scalar';
82
87
  fieldName: string;
@@ -517,8 +522,8 @@ function readData<TReadFromStore>(
517
522
  target[field.alias] = field.readerArtifact.resolver(
518
523
  environment,
519
524
  // resolvers for refetch fields take 3 args, and this is not reflected in types
520
- // @ts-expect-error
521
525
  refetchQueryArtifact,
526
+ // @ts-expect-error
522
527
  {
523
528
  ...data.data,
524
529
  // TODO continue from here
@@ -558,8 +563,8 @@ function readData<TReadFromStore>(
558
563
 
559
564
  target[field.alias] = field.readerArtifact.resolver(
560
565
  environment,
561
- // @ts-expect-error
562
566
  refetchQueryArtifact,
567
+ // @ts-expect-error
563
568
  data.data,
564
569
  filterVariables(variables, allowedVariables),
565
570
  );
@@ -588,6 +593,7 @@ function readData<TReadFromStore>(
588
593
  nestedReason: data,
589
594
  };
590
595
  } else {
596
+ // @ts-expect-error
591
597
  target[field.alias] = field.readerArtifact.resolver(data.data);
592
598
  }
593
599
  } else if (variant.kind === 'Component') {