@isograph/react 0.0.0-main-b74780dc → 0.0.0-main-0365bd75

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.
Files changed (39) hide show
  1. package/.turbo/turbo-compile-libs.log +2 -2
  2. package/.turbo/turbo-tsc.log +1 -1
  3. package/dist/core/IsographEnvironment.d.mts.map +1 -1
  4. package/dist/core/IsographEnvironment.d.ts.map +1 -1
  5. package/dist/core/IsographEnvironment.js +16 -6
  6. package/dist/core/IsographEnvironment.mjs +16 -6
  7. package/dist/core/IsographEnvironment.mjs.map +1 -1
  8. package/dist/core/entrypoint.d.mts +7 -2
  9. package/dist/core/entrypoint.d.mts.map +1 -1
  10. package/dist/core/entrypoint.d.ts +7 -2
  11. package/dist/core/entrypoint.d.ts.map +1 -1
  12. package/dist/core/entrypoint.mjs.map +1 -1
  13. package/dist/core/logging.d.ts.map +1 -1
  14. package/dist/core/makeNetworkRequest.js +6 -6
  15. package/dist/core/makeNetworkRequest.mjs +6 -6
  16. package/dist/core/makeNetworkRequest.mjs.map +1 -1
  17. package/dist/core/read.d.mts.map +1 -1
  18. package/dist/core/read.d.ts.map +1 -1
  19. package/dist/core/read.js +19 -17
  20. package/dist/core/read.mjs +19 -17
  21. package/dist/core/read.mjs.map +1 -1
  22. package/dist/core/reader.d.mts +3 -3
  23. package/dist/core/reader.d.mts.map +1 -1
  24. package/dist/core/reader.d.ts +3 -3
  25. package/dist/core/reader.d.ts.map +1 -1
  26. package/package.json +4 -4
  27. package/src/core/IsographEnvironment.ts +18 -5
  28. package/src/core/entrypoint.ts +16 -2
  29. package/src/core/makeNetworkRequest.ts +10 -12
  30. package/src/core/read.ts +15 -14
  31. package/src/core/reader.ts +7 -5
  32. package/src/tests/__isograph/Node/asEconomist/resolver_reader.ts +3 -3
  33. package/src/tests/__isograph/Query/linkedUpdate/resolver_reader.ts +3 -3
  34. package/src/tests/__isograph/Query/meName/resolver_reader.ts +3 -3
  35. package/src/tests/__isograph/Query/meNameSuccessor/resolver_reader.ts +3 -3
  36. package/src/tests/__isograph/Query/nodeField/resolver_reader.ts +3 -3
  37. package/src/tests/__isograph/Query/normalizeUndefinedField/resolver_reader.ts +3 -3
  38. package/src/tests/__isograph/Query/startUpdate/resolver_reader.ts +3 -3
  39. package/src/tests/__isograph/Query/subquery/resolver_reader.ts +3 -3
package/src/core/read.ts CHANGED
@@ -550,25 +550,25 @@ export function readResolverFieldData(
550
550
 
551
551
  const readerWithRefetchQueries = {
552
552
  kind: 'ReaderWithRefetchQueries',
553
- readerArtifact: field.readerArtifact,
553
+ readerArtifact: field.readerArtifact(),
554
554
  nestedRefetchQueries: resolverRefetchQueries,
555
555
  } satisfies ReaderWithRefetchQueries<any, any>;
556
556
 
557
557
  const fragment = {
558
558
  kind: 'FragmentReference',
559
559
  readerWithRefetchQueries: wrapResolvedValue(readerWithRefetchQueries),
560
- fieldName: field.readerArtifact.fieldName,
561
- readerArtifactKind: field.readerArtifact.kind,
560
+ fieldName: readerWithRefetchQueries.readerArtifact.fieldName,
561
+ readerArtifactKind: readerWithRefetchQueries.readerArtifact.kind,
562
562
  root,
563
563
  variables: generateChildVariableMap(variables, field.arguments),
564
564
  networkRequest,
565
565
  } satisfies FragmentReference<any, any>;
566
566
 
567
- switch (field.readerArtifact.kind) {
567
+ switch (readerWithRefetchQueries.readerArtifact.kind) {
568
568
  case 'EagerReaderArtifact': {
569
569
  const data = readData(
570
570
  environment,
571
- field.readerArtifact.readerAst,
571
+ readerWithRefetchQueries.readerArtifact.readerAst,
572
572
  root,
573
573
  generateChildVariableMap(variables, field.arguments),
574
574
  resolverRefetchQueries,
@@ -587,7 +587,7 @@ export function readResolverFieldData(
587
587
  const firstParameter = {
588
588
  data: data.data,
589
589
  parameters: variables,
590
- startUpdate: field.readerArtifact.hasUpdatable
590
+ startUpdate: readerWithRefetchQueries.readerArtifact.hasUpdatable
591
591
  ? getOrCreateCachedStartUpdate(
592
592
  environment,
593
593
  fragment,
@@ -597,7 +597,7 @@ export function readResolverFieldData(
597
597
  };
598
598
  return {
599
599
  kind: 'Success',
600
- data: field.readerArtifact.resolver(firstParameter),
600
+ data: readerWithRefetchQueries.readerArtifact.resolver(firstParameter),
601
601
  };
602
602
  }
603
603
  case 'ComponentReaderArtifact': {
@@ -651,7 +651,8 @@ export function readLinkedFieldData(
651
651
  let value = storeRecord[storeRecordName];
652
652
 
653
653
  if (field.condition != null) {
654
- const data = readData(field.condition.readerAst, root);
654
+ const condition = field.condition();
655
+ const data = readData(condition.readerAst, root);
655
656
  if (data.kind === 'MissingData') {
656
657
  return {
657
658
  kind: 'MissingData',
@@ -664,7 +665,7 @@ export function readLinkedFieldData(
664
665
 
665
666
  const readerWithRefetchQueries = {
666
667
  kind: 'ReaderWithRefetchQueries',
667
- readerArtifact: field.condition,
668
+ readerArtifact: condition,
668
669
  // TODO this is wrong
669
670
  // should map field.condition.usedRefetchQueries
670
671
  // but it doesn't exist
@@ -675,8 +676,8 @@ export function readLinkedFieldData(
675
676
  kind: 'FragmentReference',
676
677
  readerWithRefetchQueries: wrapResolvedValue(readerWithRefetchQueries),
677
678
  root,
678
- fieldName: field.condition.fieldName,
679
- readerArtifactKind: field.condition.kind,
679
+ fieldName: condition.fieldName,
680
+ readerArtifactKind: condition.kind,
680
681
  variables: generateChildVariableMap(
681
682
  variables,
682
683
  // TODO this is wrong
@@ -687,10 +688,10 @@ export function readLinkedFieldData(
687
688
  networkRequest,
688
689
  } satisfies FragmentReference<any, any>;
689
690
 
690
- const condition = field.condition.resolver({
691
+ const link = condition.resolver({
691
692
  data: data.data,
692
693
  parameters: {},
693
- ...(field.condition.hasUpdatable
694
+ ...(condition.hasUpdatable
694
695
  ? {
695
696
  startUpdate: getOrCreateCachedStartUpdate(
696
697
  environment,
@@ -700,7 +701,7 @@ export function readLinkedFieldData(
700
701
  }
701
702
  : undefined),
702
703
  });
703
- value = condition;
704
+ value = link;
704
705
  }
705
706
 
706
707
  if (Array.isArray(value)) {
@@ -105,10 +105,12 @@ export type ReaderLinkedField = {
105
105
  readonly alias: string | null;
106
106
  readonly selections: ReaderAst<unknown>;
107
107
  readonly arguments: Arguments | null;
108
- readonly condition: EagerReaderArtifact<
109
- { data: any; parameters: any; startUpdate?: StartUpdate<any> },
110
- StoreLink | null | (StoreLink | null)[] | StoreLink[]
111
- > | null;
108
+ readonly condition:
109
+ | (() => EagerReaderArtifact<
110
+ { data: any; parameters: any; startUpdate?: StartUpdate<any> },
111
+ StoreLink | null | (StoreLink | null)[] | StoreLink[]
112
+ >)
113
+ | null;
112
114
  readonly isUpdatable: boolean;
113
115
  /**
114
116
  * If refetchQueryIndex != null, then the linked field is a client pointer.
@@ -124,7 +126,7 @@ export type ReaderNonLoadableResolverField = {
124
126
  readonly kind: 'Resolver';
125
127
  readonly alias: string;
126
128
  // TODO don't type this as any
127
- readonly readerArtifact: TopLevelReaderArtifact<any, any, any>;
129
+ readonly readerArtifact: () => TopLevelReaderArtifact<any, any, any>;
128
130
  readonly arguments: Arguments | null;
129
131
  readonly usedRefetchQueries: number[];
130
132
  };
@@ -14,15 +14,15 @@ const readerAst: ReaderAst<{ data: any, parameters: Record<PropertyKey, never> }
14
14
  },
15
15
  ];
16
16
 
17
- const artifact: EagerReaderArtifact<
17
+ const artifact = (): EagerReaderArtifact<
18
18
  { data: any, parameters: Record<PropertyKey, never> },
19
19
  Link<"Economist"> | null
20
- > = {
20
+ > => ({
21
21
  kind: "EagerReaderArtifact",
22
22
  fieldName: "asEconomist",
23
23
  resolver: ({ data }) => data.__typename === "Economist" ? data.__link : null,
24
24
  readerAst,
25
25
  hasUpdatable: false,
26
- };
26
+ });
27
27
 
28
28
  export default artifact;
@@ -79,15 +79,15 @@ const readerAst: ReaderAst<Query__linkedUpdate__param> = [
79
79
  },
80
80
  ];
81
81
 
82
- const artifact: EagerReaderArtifact<
82
+ const artifact = (): EagerReaderArtifact<
83
83
  Query__linkedUpdate__param,
84
84
  Query__linkedUpdate__output_type
85
- > = {
85
+ > => ({
86
86
  kind: "EagerReaderArtifact",
87
87
  fieldName: "linkedUpdate",
88
88
  resolver,
89
89
  readerAst,
90
90
  hasUpdatable: true,
91
- };
91
+ });
92
92
 
93
93
  export default artifact;
@@ -24,15 +24,15 @@ const readerAst: ReaderAst<Query__meName__param> = [
24
24
  },
25
25
  ];
26
26
 
27
- const artifact: EagerReaderArtifact<
27
+ const artifact = (): EagerReaderArtifact<
28
28
  Query__meName__param,
29
29
  Query__meName__output_type
30
- > = {
30
+ > => ({
31
31
  kind: "EagerReaderArtifact",
32
32
  fieldName: "meName",
33
33
  resolver,
34
34
  readerAst,
35
35
  hasUpdatable: false,
36
- };
36
+ });
37
37
 
38
38
  export default artifact;
@@ -53,15 +53,15 @@ const readerAst: ReaderAst<Query__meNameSuccessor__param> = [
53
53
  },
54
54
  ];
55
55
 
56
- const artifact: EagerReaderArtifact<
56
+ const artifact = (): EagerReaderArtifact<
57
57
  Query__meNameSuccessor__param,
58
58
  Query__meNameSuccessor__output_type
59
- > = {
59
+ > => ({
60
60
  kind: "EagerReaderArtifact",
61
61
  fieldName: "meNameSuccessor",
62
62
  resolver,
63
63
  readerAst,
64
64
  hasUpdatable: false,
65
- };
65
+ });
66
66
 
67
67
  export default artifact;
@@ -29,15 +29,15 @@ const readerAst: ReaderAst<Query__nodeField__param> = [
29
29
  },
30
30
  ];
31
31
 
32
- const artifact: EagerReaderArtifact<
32
+ const artifact = (): EagerReaderArtifact<
33
33
  Query__nodeField__param,
34
34
  Query__nodeField__output_type
35
- > = {
35
+ > => ({
36
36
  kind: "EagerReaderArtifact",
37
37
  fieldName: "nodeField",
38
38
  resolver,
39
39
  readerAst,
40
40
  hasUpdatable: false,
41
- };
41
+ });
42
42
 
43
43
  export default artifact;
@@ -24,15 +24,15 @@ const readerAst: ReaderAst<Query__normalizeUndefinedField__param> = [
24
24
  },
25
25
  ];
26
26
 
27
- const artifact: EagerReaderArtifact<
27
+ const artifact = (): EagerReaderArtifact<
28
28
  Query__normalizeUndefinedField__param,
29
29
  Query__normalizeUndefinedField__output_type
30
- > = {
30
+ > => ({
31
31
  kind: "EagerReaderArtifact",
32
32
  fieldName: "normalizeUndefinedField",
33
33
  resolver,
34
34
  readerAst,
35
35
  hasUpdatable: false,
36
- };
36
+ });
37
37
 
38
38
  export default artifact;
@@ -41,15 +41,15 @@ const readerAst: ReaderAst<Query__startUpdate__param> = [
41
41
  },
42
42
  ];
43
43
 
44
- const artifact: EagerReaderArtifact<
44
+ const artifact = (): EagerReaderArtifact<
45
45
  Query__startUpdate__param,
46
46
  Query__startUpdate__output_type
47
- > = {
47
+ > => ({
48
48
  kind: "EagerReaderArtifact",
49
49
  fieldName: "startUpdate",
50
50
  resolver,
51
51
  readerAst,
52
52
  hasUpdatable: true,
53
- };
53
+ });
54
54
 
55
55
  export default artifact;
@@ -40,15 +40,15 @@ const readerAst: ReaderAst<Query__subquery__param> = [
40
40
  },
41
41
  ];
42
42
 
43
- const artifact: EagerReaderArtifact<
43
+ const artifact = (): EagerReaderArtifact<
44
44
  Query__subquery__param,
45
45
  Query__subquery__output_type
46
- > = {
46
+ > => ({
47
47
  kind: "EagerReaderArtifact",
48
48
  fieldName: "subquery",
49
49
  resolver,
50
50
  readerAst,
51
51
  hasUpdatable: false,
52
- };
52
+ });
53
53
 
54
54
  export default artifact;