@isograph/react 0.0.0-main-a2cf999d → 0.0.0-main-c73610ca
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/.turbo/turbo-compile-libs.log +1 -1
- package/dist/core/read.d.ts +1 -1
- package/dist/core/read.d.ts.map +1 -1
- package/dist/core/read.js +76 -3
- package/package.json +4 -4
- package/src/core/read.ts +102 -3
package/dist/core/read.d.ts
CHANGED
|
@@ -22,7 +22,7 @@ export type ReadDataResult<Data> = ReadDataResultSuccess<Data> | {
|
|
|
22
22
|
export declare function readLoadablySelectedFieldData(environment: IsographEnvironment, field: LoadablySelectedField, root: Link, variables: Variables, networkRequest: PromiseWrapper<void, any>, networkRequestOptions: NetworkRequestReaderOptions, mutableEncounteredRecords: EncounteredIds): ReadDataResult<unknown>;
|
|
23
23
|
export declare function readResolverFieldData(environment: IsographEnvironment, field: ReaderNonLoadableResolverField, root: Link, variables: Variables, nestedRefetchQueries: RefetchQueryNormalizationArtifactWrapper[], networkRequest: PromiseWrapper<void, any>, networkRequestOptions: NetworkRequestReaderOptions, mutableEncounteredRecords: EncounteredIds): ReadDataResult<unknown>;
|
|
24
24
|
export declare function readScalarFieldData(field: ReaderScalarField, storeRecord: StoreRecord, root: Link, variables: Variables): ReadDataResult<string | number | boolean | Link | DataTypeValue[] | null>;
|
|
25
|
-
export declare function readLinkedFieldData(environment: IsographEnvironment, field: ReaderLinkedField, storeRecord: StoreRecord, root: Link, variables: Variables, networkRequest: PromiseWrapper<void, any>, readData: <TReadFromStore>(ast: ReaderAst<TReadFromStore>, root: Link) => ReadDataResult<object>): ReadDataResult<unknown>;
|
|
25
|
+
export declare function readLinkedFieldData(environment: IsographEnvironment, field: ReaderLinkedField, storeRecord: StoreRecord, root: Link, variables: Variables, nestedRefetchQueries: RefetchQueryNormalizationArtifactWrapper[], networkRequest: PromiseWrapper<void, any>, readData: <TReadFromStore>(ast: ReaderAst<TReadFromStore>, root: Link) => ReadDataResult<object>): ReadDataResult<unknown>;
|
|
26
26
|
export type NetworkRequestReaderOptions = {
|
|
27
27
|
suspendIfInFlight: boolean;
|
|
28
28
|
throwOnNetworkError: boolean;
|
package/dist/core/read.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../src/core/read.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAEL,wCAAwC,EAEzC,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,SAAS,EACT,KAAK,qBAAqB,EAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAGL,mBAAmB,EACnB,KAAK,aAAa,EAClB,KAAK,IAAI,EACT,KAAK,WAAW,EACjB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAEL,cAAc,EAKf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,SAAS,EACT,KAAK,qBAAqB,EAC1B,KAAK,6BAA6B,EAClC,KAAK,iBAAiB,EACtB,KAAK,8BAA8B,EACnC,KAAK,iBAAiB,EACvB,MAAM,UAAU,CAAC;AAIlB,MAAM,MAAM,sBAAsB,CAAC,CAAC,IAAI;IACtC,QAAQ,CAAC,kBAAkB,EAAE,cAAc,CAAC;IAC5C,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;CAC/B,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,cAAc,SAAS,qBAAqB,EAE5C,WAAW,EAAE,mBAAmB,EAChC,iBAAiB,EAAE,iBAAiB,CAAC,cAAc,EAAE,OAAO,CAAC,EAC7D,qBAAqB,EAAE,2BAA2B,GACjD,sBAAsB,CAAC,cAAc,CAAC,CAmExC;AAED,MAAM,MAAM,qBAAqB,CAAC,IAAI,IAAI;IACxC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,IAAI,IAC3B,qBAAqB,CAAC,IAAI,CAAC,GAC3B;IACE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IAChD,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;CAC3B,CAAC;
|
|
1
|
+
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../src/core/read.ts"],"names":[],"mappings":"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"}
|
package/dist/core/read.js
CHANGED
|
@@ -96,7 +96,7 @@ function readData(environment, ast, root, variables, nestedRefetchQueries, netwo
|
|
|
96
96
|
break;
|
|
97
97
|
}
|
|
98
98
|
case 'Linked': {
|
|
99
|
-
const data = readLinkedFieldData(environment, field, storeRecord, root, variables, networkRequest, (ast, root) => readData(environment, ast, root, variables, nestedRefetchQueries, networkRequest, networkRequestOptions, mutableEncounteredRecords));
|
|
99
|
+
const data = readLinkedFieldData(environment, field, storeRecord, root, variables, nestedRefetchQueries, networkRequest, (ast, root) => readData(environment, ast, root, variables, nestedRefetchQueries, networkRequest, networkRequestOptions, mutableEncounteredRecords));
|
|
100
100
|
if (data.kind === 'MissingData') {
|
|
101
101
|
return data;
|
|
102
102
|
}
|
|
@@ -374,7 +374,7 @@ function readScalarFieldData(field, storeRecord, root, variables) {
|
|
|
374
374
|
}
|
|
375
375
|
return { kind: 'Success', data: value };
|
|
376
376
|
}
|
|
377
|
-
function readLinkedFieldData(environment, field, storeRecord, root, variables, networkRequest, readData) {
|
|
377
|
+
function readLinkedFieldData(environment, field, storeRecord, root, variables, nestedRefetchQueries, networkRequest, readData) {
|
|
378
378
|
const storeRecordName = (0, cache_1.getParentRecordKey)(field, variables);
|
|
379
379
|
const value = storeRecord[storeRecordName];
|
|
380
380
|
if (Array.isArray(value)) {
|
|
@@ -443,7 +443,7 @@ function readLinkedFieldData(environment, field, storeRecord, root, variables, n
|
|
|
443
443
|
root,
|
|
444
444
|
variables: generateChildVariableMap(variables,
|
|
445
445
|
// TODO this is wrong
|
|
446
|
-
// should use field.
|
|
446
|
+
// should use field.arguments
|
|
447
447
|
// but it doesn't exist
|
|
448
448
|
[]),
|
|
449
449
|
networkRequest,
|
|
@@ -498,6 +498,79 @@ function readLinkedFieldData(environment, field, storeRecord, root, variables, n
|
|
|
498
498
|
};
|
|
499
499
|
}
|
|
500
500
|
const targetId = link;
|
|
501
|
+
if (typeof field.refetchQuery === 'number') {
|
|
502
|
+
root = link;
|
|
503
|
+
const refetchReaderParams = readData([
|
|
504
|
+
{
|
|
505
|
+
kind: 'Scalar',
|
|
506
|
+
fieldName: 'id',
|
|
507
|
+
alias: null,
|
|
508
|
+
arguments: null,
|
|
509
|
+
isUpdatable: false,
|
|
510
|
+
},
|
|
511
|
+
], root);
|
|
512
|
+
if (refetchReaderParams.kind === 'MissingData') {
|
|
513
|
+
return {
|
|
514
|
+
kind: 'MissingData',
|
|
515
|
+
reason: 'Missing data for ' + field.alias + ' on root ' + root.__link,
|
|
516
|
+
nestedReason: refetchReaderParams,
|
|
517
|
+
recordLink: refetchReaderParams.recordLink,
|
|
518
|
+
};
|
|
519
|
+
}
|
|
520
|
+
const refetchQueryIndex = field.refetchQuery;
|
|
521
|
+
const refetchQuery = nestedRefetchQueries[refetchQueryIndex];
|
|
522
|
+
if (refetchQuery == null) {
|
|
523
|
+
throw new Error('refetchQuery is null in RefetchField. This is indicative of a bug in Isograph.');
|
|
524
|
+
}
|
|
525
|
+
const refetchQueryArtifact = refetchQuery.artifact;
|
|
526
|
+
const allowedVariables = refetchQuery.allowedVariables;
|
|
527
|
+
return {
|
|
528
|
+
kind: 'Success',
|
|
529
|
+
data: (args,
|
|
530
|
+
// TODO get the associated type for FetchOptions from the loadably selected field
|
|
531
|
+
fetchOptions) => {
|
|
532
|
+
const includeReadOutData = (variables, readOutData) => {
|
|
533
|
+
variables.id = readOutData.id;
|
|
534
|
+
return variables;
|
|
535
|
+
};
|
|
536
|
+
const localVariables = includeReadOutData(args !== null && args !== void 0 ? args : {}, refetchReaderParams.data);
|
|
537
|
+
writeQueryArgsToVariables(localVariables, field.arguments, variables);
|
|
538
|
+
return [
|
|
539
|
+
// Stable id
|
|
540
|
+
root.__typename +
|
|
541
|
+
':' +
|
|
542
|
+
root.__link +
|
|
543
|
+
'/' +
|
|
544
|
+
field.fieldName +
|
|
545
|
+
'/' +
|
|
546
|
+
stableStringifyArgs(localVariables),
|
|
547
|
+
// Fetcher
|
|
548
|
+
() => {
|
|
549
|
+
const variables = includeReadOutData(filterVariables(Object.assign(Object.assign({}, args), localVariables), allowedVariables), refetchReaderParams.data);
|
|
550
|
+
const [networkRequest, disposeNetworkRequest] = (0, makeNetworkRequest_1.maybeMakeNetworkRequest)(environment, refetchQueryArtifact, variables, fetchOptions);
|
|
551
|
+
const fragmentReference = {
|
|
552
|
+
kind: 'FragmentReference',
|
|
553
|
+
readerWithRefetchQueries: (0, PromiseWrapper_1.wrapResolvedValue)({
|
|
554
|
+
kind: 'ReaderWithRefetchQueries',
|
|
555
|
+
readerArtifact: {
|
|
556
|
+
kind: 'EagerReaderArtifact',
|
|
557
|
+
fieldName: field.fieldName,
|
|
558
|
+
readerAst: field.selections,
|
|
559
|
+
resolver: ({ data }) => data,
|
|
560
|
+
hasUpdatable: false,
|
|
561
|
+
},
|
|
562
|
+
nestedRefetchQueries,
|
|
563
|
+
}),
|
|
564
|
+
root,
|
|
565
|
+
variables,
|
|
566
|
+
networkRequest,
|
|
567
|
+
};
|
|
568
|
+
return [fragmentReference, disposeNetworkRequest];
|
|
569
|
+
},
|
|
570
|
+
];
|
|
571
|
+
},
|
|
572
|
+
};
|
|
573
|
+
}
|
|
501
574
|
const data = readData(field.selections, targetId);
|
|
502
575
|
if (data.kind === 'MissingData') {
|
|
503
576
|
return {
|
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-c73610ca",
|
|
4
4
|
"description": "Use Isograph with React",
|
|
5
5
|
"homepage": "https://isograph.dev",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
"iso-watch": "cross-env ../../target/debug/isograph_cli --config ./isograph.config.json --watch"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@isograph/disposable-types": "0.0.0-main-
|
|
24
|
-
"@isograph/react-disposable-state": "0.0.0-main-
|
|
25
|
-
"@isograph/reference-counted-pointer": "0.0.0-main-
|
|
23
|
+
"@isograph/disposable-types": "0.0.0-main-c73610ca",
|
|
24
|
+
"@isograph/react-disposable-state": "0.0.0-main-c73610ca",
|
|
25
|
+
"@isograph/reference-counted-pointer": "0.0.0-main-c73610ca"
|
|
26
26
|
},
|
|
27
27
|
"peerDependencies": {
|
|
28
28
|
"react": "^18.0.0 || ^19.0.0"
|
package/src/core/read.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CleanupFn } from '@isograph/disposable-types';
|
|
1
|
+
import { CleanupFn, type ItemCleanupPair } from '@isograph/disposable-types';
|
|
2
2
|
import {
|
|
3
3
|
getParentRecordKey,
|
|
4
4
|
insertIfNotExists,
|
|
@@ -196,6 +196,7 @@ function readData<TReadFromStore>(
|
|
|
196
196
|
storeRecord,
|
|
197
197
|
root,
|
|
198
198
|
variables,
|
|
199
|
+
nestedRefetchQueries,
|
|
199
200
|
networkRequest,
|
|
200
201
|
(ast, root) =>
|
|
201
202
|
readData(
|
|
@@ -644,8 +645,8 @@ export function readLinkedFieldData(
|
|
|
644
645
|
storeRecord: StoreRecord,
|
|
645
646
|
root: Link,
|
|
646
647
|
variables: Variables,
|
|
648
|
+
nestedRefetchQueries: RefetchQueryNormalizationArtifactWrapper[],
|
|
647
649
|
networkRequest: PromiseWrapper<void, any>,
|
|
648
|
-
|
|
649
650
|
readData: <TReadFromStore>(
|
|
650
651
|
ast: ReaderAst<TReadFromStore>,
|
|
651
652
|
root: Link,
|
|
@@ -726,7 +727,7 @@ export function readLinkedFieldData(
|
|
|
726
727
|
variables: generateChildVariableMap(
|
|
727
728
|
variables,
|
|
728
729
|
// TODO this is wrong
|
|
729
|
-
// should use field.
|
|
730
|
+
// should use field.arguments
|
|
730
731
|
// but it doesn't exist
|
|
731
732
|
[],
|
|
732
733
|
),
|
|
@@ -797,6 +798,104 @@ export function readLinkedFieldData(
|
|
|
797
798
|
};
|
|
798
799
|
}
|
|
799
800
|
const targetId = link;
|
|
801
|
+
if (typeof field.refetchQuery === 'number') {
|
|
802
|
+
root = link;
|
|
803
|
+
const refetchReaderParams = readData(
|
|
804
|
+
[
|
|
805
|
+
{
|
|
806
|
+
kind: 'Scalar',
|
|
807
|
+
fieldName: 'id',
|
|
808
|
+
alias: null,
|
|
809
|
+
arguments: null,
|
|
810
|
+
isUpdatable: false,
|
|
811
|
+
},
|
|
812
|
+
],
|
|
813
|
+
root,
|
|
814
|
+
);
|
|
815
|
+
|
|
816
|
+
if (refetchReaderParams.kind === 'MissingData') {
|
|
817
|
+
return {
|
|
818
|
+
kind: 'MissingData',
|
|
819
|
+
reason: 'Missing data for ' + field.alias + ' on root ' + root.__link,
|
|
820
|
+
nestedReason: refetchReaderParams,
|
|
821
|
+
recordLink: refetchReaderParams.recordLink,
|
|
822
|
+
};
|
|
823
|
+
}
|
|
824
|
+
const refetchQueryIndex = field.refetchQuery;
|
|
825
|
+
const refetchQuery = nestedRefetchQueries[refetchQueryIndex];
|
|
826
|
+
|
|
827
|
+
if (refetchQuery == null) {
|
|
828
|
+
throw new Error(
|
|
829
|
+
'refetchQuery is null in RefetchField. This is indicative of a bug in Isograph.',
|
|
830
|
+
);
|
|
831
|
+
}
|
|
832
|
+
const refetchQueryArtifact = refetchQuery.artifact;
|
|
833
|
+
const allowedVariables = refetchQuery.allowedVariables;
|
|
834
|
+
|
|
835
|
+
return {
|
|
836
|
+
kind: 'Success',
|
|
837
|
+
data: (
|
|
838
|
+
args: any,
|
|
839
|
+
// TODO get the associated type for FetchOptions from the loadably selected field
|
|
840
|
+
fetchOptions?: FetchOptions<any>,
|
|
841
|
+
) => {
|
|
842
|
+
const includeReadOutData = (variables: any, readOutData: any) => {
|
|
843
|
+
variables.id = readOutData.id;
|
|
844
|
+
return variables;
|
|
845
|
+
};
|
|
846
|
+
const localVariables = includeReadOutData(
|
|
847
|
+
args ?? {},
|
|
848
|
+
refetchReaderParams.data,
|
|
849
|
+
);
|
|
850
|
+
writeQueryArgsToVariables(localVariables, field.arguments, variables);
|
|
851
|
+
|
|
852
|
+
return [
|
|
853
|
+
// Stable id
|
|
854
|
+
root.__typename +
|
|
855
|
+
':' +
|
|
856
|
+
root.__link +
|
|
857
|
+
'/' +
|
|
858
|
+
field.fieldName +
|
|
859
|
+
'/' +
|
|
860
|
+
stableStringifyArgs(localVariables),
|
|
861
|
+
// Fetcher
|
|
862
|
+
(): ItemCleanupPair<FragmentReference<any, any>> | undefined => {
|
|
863
|
+
const variables = includeReadOutData(
|
|
864
|
+
filterVariables({ ...args, ...localVariables }, allowedVariables),
|
|
865
|
+
refetchReaderParams.data,
|
|
866
|
+
);
|
|
867
|
+
|
|
868
|
+
const [networkRequest, disposeNetworkRequest] =
|
|
869
|
+
maybeMakeNetworkRequest(
|
|
870
|
+
environment,
|
|
871
|
+
refetchQueryArtifact,
|
|
872
|
+
variables,
|
|
873
|
+
fetchOptions,
|
|
874
|
+
);
|
|
875
|
+
|
|
876
|
+
const fragmentReference: FragmentReference<any, any> = {
|
|
877
|
+
kind: 'FragmentReference',
|
|
878
|
+
readerWithRefetchQueries: wrapResolvedValue({
|
|
879
|
+
kind: 'ReaderWithRefetchQueries',
|
|
880
|
+
readerArtifact: {
|
|
881
|
+
kind: 'EagerReaderArtifact',
|
|
882
|
+
fieldName: field.fieldName,
|
|
883
|
+
readerAst: field.selections,
|
|
884
|
+
resolver: ({ data }) => data,
|
|
885
|
+
hasUpdatable: false,
|
|
886
|
+
},
|
|
887
|
+
nestedRefetchQueries,
|
|
888
|
+
}),
|
|
889
|
+
root,
|
|
890
|
+
variables,
|
|
891
|
+
networkRequest,
|
|
892
|
+
};
|
|
893
|
+
return [fragmentReference, disposeNetworkRequest];
|
|
894
|
+
},
|
|
895
|
+
];
|
|
896
|
+
},
|
|
897
|
+
};
|
|
898
|
+
}
|
|
800
899
|
const data = readData(field.selections, targetId);
|
|
801
900
|
if (data.kind === 'MissingData') {
|
|
802
901
|
return {
|