@isograph/react 0.0.0-main-3b6a3c06 → 0.0.0-main-c9bf41eb
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/componentCache.js +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.js +3 -3
- package/package.json +3 -3
- package/src/componentCache.ts +1 -4
- package/src/index.tsx +14 -3
package/dist/componentCache.js
CHANGED
@@ -21,7 +21,7 @@ function getOrCreateCachedComponent(environment, root, componentName, readerArti
|
|
21
21
|
variables,
|
22
22
|
nestedRefetchQueries: resolverRefetchQueries,
|
23
23
|
});
|
24
|
-
return readerArtifact.resolver(
|
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,15 @@ 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;
|
23
|
+
export type Prettify<T> = {
|
24
|
+
[K in keyof T]: T[K];
|
25
|
+
} & {};
|
22
26
|
export type ReaderScalarField = {
|
23
27
|
kind: 'Scalar';
|
24
28
|
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
|
-
|
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-
|
3
|
+
"version": "0.0.0-main-c9bf41eb",
|
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-c9bf41eb",
|
20
|
+
"@isograph/react-disposable-state": "0.0.0-main-c9bf41eb",
|
21
21
|
"react": "^18.2.0"
|
22
22
|
},
|
23
23
|
"devDependencies": {
|
package/src/componentCache.ts
CHANGED
@@ -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,14 @@ 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
|
+
|
85
|
+
// See https://www.totaltypescript.com/concepts/the-prettify-helper
|
86
|
+
export type Prettify<T> = {
|
87
|
+
[K in keyof T]: T[K];
|
88
|
+
} & {};
|
89
|
+
|
80
90
|
export type ReaderScalarField = {
|
81
91
|
kind: 'Scalar';
|
82
92
|
fieldName: string;
|
@@ -517,8 +527,8 @@ function readData<TReadFromStore>(
|
|
517
527
|
target[field.alias] = field.readerArtifact.resolver(
|
518
528
|
environment,
|
519
529
|
// resolvers for refetch fields take 3 args, and this is not reflected in types
|
520
|
-
// @ts-expect-error
|
521
530
|
refetchQueryArtifact,
|
531
|
+
// @ts-expect-error
|
522
532
|
{
|
523
533
|
...data.data,
|
524
534
|
// TODO continue from here
|
@@ -558,8 +568,8 @@ function readData<TReadFromStore>(
|
|
558
568
|
|
559
569
|
target[field.alias] = field.readerArtifact.resolver(
|
560
570
|
environment,
|
561
|
-
// @ts-expect-error
|
562
571
|
refetchQueryArtifact,
|
572
|
+
// @ts-expect-error
|
563
573
|
data.data,
|
564
574
|
filterVariables(variables, allowedVariables),
|
565
575
|
);
|
@@ -588,6 +598,7 @@ function readData<TReadFromStore>(
|
|
588
598
|
nestedReason: data,
|
589
599
|
};
|
590
600
|
} else {
|
601
|
+
// @ts-expect-error
|
591
602
|
target[field.alias] = field.readerArtifact.resolver(data.data);
|
592
603
|
}
|
593
604
|
} else if (variant.kind === 'Component') {
|