@isograph/react 0.0.0-main-4b202045 → 0.0.0-main-0b32e705
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/FragmentReference.d.ts +2 -2
- package/dist/entrypoint.d.ts +3 -3
- package/dist/read.d.ts +1 -1
- package/dist/reader.d.ts +2 -2
- package/dist/reader.js +0 -1
- package/dist/useResult.d.ts +1 -1
- package/package.json +3 -3
- package/src/FragmentReference.ts +2 -2
- package/src/entrypoint.ts +5 -5
- package/src/read.ts +3 -3
- package/src/reader.ts +3 -4
- package/src/useResult.ts +3 -3
- /package/src/{cache.tsx → cache.ts} +0 -0
- /package/src/{index.tsx → index.ts} +0 -0
@@ -2,9 +2,9 @@ import { DataId } from './IsographEnvironment';
|
|
2
2
|
import { RefetchQueryArtifactWrapper } from './entrypoint';
|
3
3
|
import { ReaderArtifact } from './reader';
|
4
4
|
export type Variable = any;
|
5
|
-
export type FragmentReference<TReadFromStore extends Object,
|
5
|
+
export type FragmentReference<TReadFromStore extends Object, TClientFieldValue> = {
|
6
6
|
kind: 'FragmentReference';
|
7
|
-
readerArtifact: ReaderArtifact<TReadFromStore,
|
7
|
+
readerArtifact: ReaderArtifact<TReadFromStore, TClientFieldValue>;
|
8
8
|
root: DataId;
|
9
9
|
variables: {
|
10
10
|
[index: string]: Variable;
|
package/dist/entrypoint.d.ts
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
import { ReaderArtifact } from './reader';
|
2
2
|
import { Arguments } from './util';
|
3
|
-
export type IsographEntrypoint<TReadFromStore extends Object,
|
3
|
+
export type IsographEntrypoint<TReadFromStore extends Object, TClientFieldValue> = {
|
4
4
|
kind: 'Entrypoint';
|
5
5
|
queryText: string;
|
6
6
|
normalizationAst: NormalizationAst;
|
7
|
-
readerArtifact: ReaderArtifact<TReadFromStore,
|
7
|
+
readerArtifact: ReaderArtifact<TReadFromStore, TClientFieldValue>;
|
8
8
|
nestedRefetchQueries: RefetchQueryArtifactWrapper[];
|
9
9
|
};
|
10
10
|
export type NormalizationAstNode = NormalizationScalarField | NormalizationLinkedField;
|
@@ -29,6 +29,6 @@ export type RefetchQueryArtifactWrapper = {
|
|
29
29
|
artifact: RefetchQueryArtifact;
|
30
30
|
allowedVariables: string[];
|
31
31
|
};
|
32
|
-
export declare function assertIsEntrypoint<TReadFromStore extends Object,
|
32
|
+
export declare function assertIsEntrypoint<TReadFromStore extends Object, TClientFieldValue>(value: IsographEntrypoint<TReadFromStore, TClientFieldValue> | ((_: any) => any) | any): asserts value is IsographEntrypoint<TReadFromStore, TClientFieldValue>;
|
33
33
|
export type ExtractReadFromStore<Type> = Type extends IsographEntrypoint<infer X, any> ? X : never;
|
34
34
|
export type ExtractResolverResult<Type> = Type extends IsographEntrypoint<any, infer X> ? X : never;
|
package/dist/read.d.ts
CHANGED
@@ -1,4 +1,4 @@
|
|
1
1
|
import { FragmentReference } from './FragmentReference';
|
2
2
|
import { IsographEnvironment } from './IsographEnvironment';
|
3
|
-
export declare function read<TReadFromStore extends Object,
|
3
|
+
export declare function read<TReadFromStore extends Object, TClientFieldValue>(environment: IsographEnvironment, fragmentReference: FragmentReference<TReadFromStore, TClientFieldValue>): TClientFieldValue;
|
4
4
|
export declare function readButDoNotEvaluate<TReadFromStore extends Object>(environment: IsographEnvironment, reference: FragmentReference<TReadFromStore, unknown>): TReadFromStore;
|
package/dist/reader.d.ts
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
import { Arguments } from './util';
|
2
|
-
export type ReaderArtifact<TReadFromStore extends Object,
|
2
|
+
export type ReaderArtifact<TReadFromStore extends Object, TClientFieldValue> = {
|
3
3
|
kind: 'ReaderArtifact';
|
4
4
|
readerAst: ReaderAst<TReadFromStore>;
|
5
|
-
resolver: (data: TReadFromStore, runtimeProps: any) =>
|
5
|
+
resolver: (data: TReadFromStore, runtimeProps: any) => TClientFieldValue;
|
6
6
|
variant: ReaderResolverVariant;
|
7
7
|
};
|
8
8
|
export type ReaderAstNode = ReaderScalarField | ReaderLinkedField | ReaderResolverField | ReaderRefetchField | ReaderMutationField;
|
package/dist/reader.js
CHANGED
package/dist/useResult.d.ts
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
import { FragmentReference } from './FragmentReference';
|
2
|
-
export declare function useResult<TReadFromStore extends Object,
|
2
|
+
export declare function useResult<TReadFromStore extends Object, TClientFieldValue>(fragmentReference: FragmentReference<TReadFromStore, TClientFieldValue>): TClientFieldValue;
|
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-0b32e705",
|
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-0b32e705",
|
20
|
+
"@isograph/react-disposable-state": "0.0.0-main-0b32e705",
|
21
21
|
"react": "^18.2.0"
|
22
22
|
},
|
23
23
|
"devDependencies": {
|
package/src/FragmentReference.ts
CHANGED
@@ -7,10 +7,10 @@ export type Variable = any;
|
|
7
7
|
|
8
8
|
export type FragmentReference<
|
9
9
|
TReadFromStore extends Object,
|
10
|
-
|
10
|
+
TClientFieldValue,
|
11
11
|
> = {
|
12
12
|
kind: 'FragmentReference';
|
13
|
-
readerArtifact: ReaderArtifact<TReadFromStore,
|
13
|
+
readerArtifact: ReaderArtifact<TReadFromStore, TClientFieldValue>;
|
14
14
|
root: DataId;
|
15
15
|
variables: { [index: string]: Variable } | null;
|
16
16
|
// TODO: We should instead have ReaderAst<TResolverProps>
|
package/src/entrypoint.ts
CHANGED
@@ -4,12 +4,12 @@ import { Arguments } from './util';
|
|
4
4
|
// This type should be treated as an opaque type.
|
5
5
|
export type IsographEntrypoint<
|
6
6
|
TReadFromStore extends Object,
|
7
|
-
|
7
|
+
TClientFieldValue,
|
8
8
|
> = {
|
9
9
|
kind: 'Entrypoint';
|
10
10
|
queryText: string;
|
11
11
|
normalizationAst: NormalizationAst;
|
12
|
-
readerArtifact: ReaderArtifact<TReadFromStore,
|
12
|
+
readerArtifact: ReaderArtifact<TReadFromStore, TClientFieldValue>;
|
13
13
|
nestedRefetchQueries: RefetchQueryArtifactWrapper[];
|
14
14
|
};
|
15
15
|
|
@@ -46,15 +46,15 @@ export type RefetchQueryArtifactWrapper = {
|
|
46
46
|
|
47
47
|
export function assertIsEntrypoint<
|
48
48
|
TReadFromStore extends Object,
|
49
|
-
|
49
|
+
TClientFieldValue,
|
50
50
|
>(
|
51
51
|
value:
|
52
|
-
| IsographEntrypoint<TReadFromStore,
|
52
|
+
| IsographEntrypoint<TReadFromStore, TClientFieldValue>
|
53
53
|
| ((_: any) => any)
|
54
54
|
// Temporarily, allow any here. Once we automatically provide
|
55
55
|
// types to entrypoints, we probably don't need this.
|
56
56
|
| any,
|
57
|
-
): asserts value is IsographEntrypoint<TReadFromStore,
|
57
|
+
): asserts value is IsographEntrypoint<TReadFromStore, TClientFieldValue> {
|
58
58
|
if (typeof value === 'function') throw new Error('Not a string');
|
59
59
|
}
|
60
60
|
|
package/src/read.ts
CHANGED
@@ -10,10 +10,10 @@ import {
|
|
10
10
|
} from './IsographEnvironment';
|
11
11
|
import { ReaderAst } from './reader';
|
12
12
|
|
13
|
-
export function read<TReadFromStore extends Object,
|
13
|
+
export function read<TReadFromStore extends Object, TClientFieldValue>(
|
14
14
|
environment: IsographEnvironment,
|
15
|
-
fragmentReference: FragmentReference<TReadFromStore,
|
16
|
-
):
|
15
|
+
fragmentReference: FragmentReference<TReadFromStore, TClientFieldValue>,
|
16
|
+
): TClientFieldValue {
|
17
17
|
const variant = fragmentReference.readerArtifact.variant;
|
18
18
|
if (variant.kind === 'Eager') {
|
19
19
|
const data = readData(
|
package/src/reader.ts
CHANGED
@@ -1,12 +1,11 @@
|
|
1
|
-
// TODO this should probably be at least three distinct types, for @component,
|
2
|
-
|
3
1
|
import { Arguments } from './util';
|
4
2
|
|
3
|
+
// TODO this should probably be at least three distinct types, for @component,
|
5
4
|
// non-@component and refetch resolvers
|
6
|
-
export type ReaderArtifact<TReadFromStore extends Object,
|
5
|
+
export type ReaderArtifact<TReadFromStore extends Object, TClientFieldValue> = {
|
7
6
|
kind: 'ReaderArtifact';
|
8
7
|
readerAst: ReaderAst<TReadFromStore>;
|
9
|
-
resolver: (data: TReadFromStore, runtimeProps: any) =>
|
8
|
+
resolver: (data: TReadFromStore, runtimeProps: any) => TClientFieldValue;
|
10
9
|
variant: ReaderResolverVariant;
|
11
10
|
};
|
12
11
|
|
package/src/useResult.ts
CHANGED
@@ -4,9 +4,9 @@ import { subscribe } from './cache';
|
|
4
4
|
import { read } from './read';
|
5
5
|
import { FragmentReference } from './FragmentReference';
|
6
6
|
|
7
|
-
export function useResult<TReadFromStore extends Object,
|
8
|
-
fragmentReference: FragmentReference<TReadFromStore,
|
9
|
-
):
|
7
|
+
export function useResult<TReadFromStore extends Object, TClientFieldValue>(
|
8
|
+
fragmentReference: FragmentReference<TReadFromStore, TClientFieldValue>,
|
9
|
+
): TClientFieldValue {
|
10
10
|
const environment = useIsographEnvironment();
|
11
11
|
|
12
12
|
const [, setState] = useState<object | void>();
|
File without changes
|
File without changes
|