@isograph/react 0.0.0-main-4b202045 → 0.0.0-main-05aaa6a2

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.
@@ -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, TResolverResult> = {
5
+ export type FragmentReference<TReadFromStore extends Object, TClientFieldValue> = {
6
6
  kind: 'FragmentReference';
7
- readerArtifact: ReaderArtifact<TReadFromStore, TResolverResult>;
7
+ readerArtifact: ReaderArtifact<TReadFromStore, TClientFieldValue>;
8
8
  root: DataId;
9
9
  variables: {
10
10
  [index: string]: Variable;
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { ParentCache } from '@isograph/isograph-react-disposable-state';
2
+ import { ParentCache } from '@isograph/react-disposable-state';
3
3
  import { RetainedQuery } from './garbageCollection';
4
4
  type ComponentName = string;
5
5
  type StringifiedArgs = string;
@@ -54,5 +54,5 @@ export declare function defaultMissingFieldHandler(_storeRecord: StoreRecord, _r
54
54
  } | null, variables: {
55
55
  [index: string]: any;
56
56
  } | null): Link | undefined;
57
- export declare function assertLink(link: DataTypeValue): Link | null;
57
+ export declare function assertLink(link: DataTypeValue): Link | null | undefined;
58
58
  export {};
@@ -39,7 +39,7 @@ function assertLink(link) {
39
39
  throw new Error('Unexpected array');
40
40
  }
41
41
  if (link == null) {
42
- return null;
42
+ return link;
43
43
  }
44
44
  if (typeof link === 'object') {
45
45
  return link;
@@ -1,10 +1,10 @@
1
1
  import { ReaderArtifact } from './reader';
2
2
  import { Arguments } from './util';
3
- export type IsographEntrypoint<TReadFromStore extends Object, TResolverResult> = {
3
+ export type IsographEntrypoint<TReadFromStore extends Object, TClientFieldValue> = {
4
4
  kind: 'Entrypoint';
5
5
  queryText: string;
6
6
  normalizationAst: NormalizationAst;
7
- readerArtifact: ReaderArtifact<TReadFromStore, TResolverResult>;
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, TResolverResult>(value: IsographEntrypoint<TReadFromStore, TResolverResult> | ((_: any) => any) | any): asserts value is IsographEntrypoint<TReadFromStore, TResolverResult>;
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, TResolverResult>(environment: IsographEnvironment, fragmentReference: FragmentReference<TReadFromStore, TResolverResult>): TResolverResult;
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, TResolverResult> = {
2
+ export type ReaderArtifact<TReadFromStore extends Object, TClientFieldValue> = {
3
3
  kind: 'ReaderArtifact';
4
4
  readerAst: ReaderAst<TReadFromStore>;
5
- resolver: (data: TReadFromStore, runtimeProps: any) => TResolverResult;
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
@@ -1,3 +1,2 @@
1
1
  "use strict";
2
- // TODO this should probably be at least three distinct types, for @component,
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
@@ -5,7 +5,7 @@ const IsographEnvironmentProvider_1 = require("./IsographEnvironmentProvider");
5
5
  const IsographEnvironment_1 = require("./IsographEnvironment");
6
6
  const entrypoint_1 = require("./entrypoint");
7
7
  const cache_1 = require("./cache");
8
- const isograph_react_disposable_state_1 = require("@isograph/isograph-react-disposable-state");
8
+ const react_disposable_state_1 = require("@isograph/react-disposable-state");
9
9
  // Note: we cannot write TEntrypoint extends IsographEntrypoint<any, any, any>, or else
10
10
  // if we do not explicitly pass a type, the read out type will be any.
11
11
  // We cannot write TEntrypoint extends IsographEntrypoint<never, never, never>, or else
@@ -16,7 +16,7 @@ function useLazyReference(entrypoint, variables) {
16
16
  const cache = (0, cache_1.getOrCreateCacheForArtifact)(environment, entrypoint, variables);
17
17
  // TODO add comment explaining why we never use this value
18
18
  // @ts-ignore
19
- const data = (0, isograph_react_disposable_state_1.useLazyDisposableState)(cache).state;
19
+ const data = (0, react_disposable_state_1.useLazyDisposableState)(cache).state;
20
20
  return {
21
21
  queryReference: {
22
22
  kind: 'FragmentReference',
@@ -1,2 +1,2 @@
1
1
  import { FragmentReference } from './FragmentReference';
2
- export declare function useResult<TReadFromStore extends Object, TResolverResult>(fragmentReference: FragmentReference<TReadFromStore, TResolverResult>): TResolverResult;
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-4b202045",
3
+ "version": "0.0.0-main-05aaa6a2",
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-4b202045",
20
- "@isograph/react-disposable-state": "0.0.0-main-4b202045",
19
+ "@isograph/disposable-types": "0.0.0-main-05aaa6a2",
20
+ "@isograph/react-disposable-state": "0.0.0-main-05aaa6a2",
21
21
  "react": "^18.2.0"
22
22
  },
23
23
  "devDependencies": {
@@ -7,10 +7,10 @@ export type Variable = any;
7
7
 
8
8
  export type FragmentReference<
9
9
  TReadFromStore extends Object,
10
- TResolverResult,
10
+ TClientFieldValue,
11
11
  > = {
12
12
  kind: 'FragmentReference';
13
- readerArtifact: ReaderArtifact<TReadFromStore, TResolverResult>;
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>
@@ -1,4 +1,4 @@
1
- import { ParentCache } from '@isograph/isograph-react-disposable-state';
1
+ import { ParentCache } from '@isograph/react-disposable-state';
2
2
  import { RetainedQuery } from './garbageCollection';
3
3
 
4
4
  type ComponentName = string;
@@ -114,12 +114,12 @@ export function defaultMissingFieldHandler(
114
114
  }
115
115
  }
116
116
 
117
- export function assertLink(link: DataTypeValue): Link | null {
117
+ export function assertLink(link: DataTypeValue): Link | null | undefined {
118
118
  if (Array.isArray(link)) {
119
119
  throw new Error('Unexpected array');
120
120
  }
121
121
  if (link == null) {
122
- return null;
122
+ return link;
123
123
  }
124
124
  if (typeof link === 'object') {
125
125
  return link;
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
- TResolverResult,
7
+ TClientFieldValue,
8
8
  > = {
9
9
  kind: 'Entrypoint';
10
10
  queryText: string;
11
11
  normalizationAst: NormalizationAst;
12
- readerArtifact: ReaderArtifact<TReadFromStore, TResolverResult>;
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
- TResolverResult,
49
+ TClientFieldValue,
50
50
  >(
51
51
  value:
52
- | IsographEntrypoint<TReadFromStore, TResolverResult>
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, TResolverResult> {
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, TResolverResult>(
13
+ export function read<TReadFromStore extends Object, TClientFieldValue>(
14
14
  environment: IsographEnvironment,
15
- fragmentReference: FragmentReference<TReadFromStore, TResolverResult>,
16
- ): TResolverResult {
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, TResolverResult> = {
5
+ export type ReaderArtifact<TReadFromStore extends Object, TClientFieldValue> = {
7
6
  kind: 'ReaderArtifact';
8
7
  readerAst: ReaderAst<TReadFromStore>;
9
- resolver: (data: TReadFromStore, runtimeProps: any) => TResolverResult;
8
+ resolver: (data: TReadFromStore, runtimeProps: any) => TClientFieldValue;
10
9
  variant: ReaderResolverVariant;
11
10
  };
12
11
 
@@ -7,7 +7,7 @@ import {
7
7
  assertIsEntrypoint,
8
8
  } from './entrypoint';
9
9
  import { getOrCreateCacheForArtifact } from './cache';
10
- import { useLazyDisposableState } from '@isograph/isograph-react-disposable-state';
10
+ import { useLazyDisposableState } from '@isograph/react-disposable-state';
11
11
  import { type PromiseWrapper } from './PromiseWrapper';
12
12
 
13
13
  // Note: we cannot write TEntrypoint extends IsographEntrypoint<any, any, any>, or else
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, TResolverResult>(
8
- fragmentReference: FragmentReference<TReadFromStore, TResolverResult>,
9
- ): TResolverResult {
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