@isograph/react 0.0.0-main-4be0dc5c → 0.0.0-main-89410ff8
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-typescript.log +1 -1
- package/dist/core/FragmentReference.d.ts +6 -5
- package/dist/core/FragmentReference.d.ts.map +1 -1
- package/dist/core/IsographEnvironment.d.ts +3 -7
- package/dist/core/IsographEnvironment.d.ts.map +1 -1
- package/dist/core/cache.d.ts +5 -17
- package/dist/core/cache.d.ts.map +1 -1
- package/dist/core/entrypoint.d.ts +6 -21
- package/dist/core/entrypoint.d.ts.map +1 -1
- package/dist/core/makeNetworkRequest.d.ts +3 -12
- package/dist/core/makeNetworkRequest.d.ts.map +1 -1
- package/dist/core/read.d.ts +2 -7
- package/dist/core/read.d.ts.map +1 -1
- package/dist/core/reader.d.ts +6 -26
- package/dist/core/reader.d.ts.map +1 -1
- package/dist/core/startUpdate.d.ts +2 -7
- package/dist/core/startUpdate.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/loadable-hooks/useClientSideDefer.d.ts +4 -12
- package/dist/loadable-hooks/useClientSideDefer.d.ts.map +1 -1
- package/dist/loadable-hooks/useConnectionSpecPagination.d.ts +4 -12
- package/dist/loadable-hooks/useConnectionSpecPagination.d.ts.map +1 -1
- package/dist/loadable-hooks/useSkipLimitPagination.d.ts +4 -12
- package/dist/loadable-hooks/useSkipLimitPagination.d.ts.map +1 -1
- package/dist/react/useImperativeReference.d.ts +3 -12
- package/dist/react/useImperativeReference.d.ts.map +1 -1
- package/dist/react/useLazyReference.d.ts +2 -7
- package/dist/react/useLazyReference.d.ts.map +1 -1
- package/dist/react/useReadAndSubscribe.d.ts +4 -12
- package/dist/react/useReadAndSubscribe.d.ts.map +1 -1
- package/dist/react/useResult.d.ts +2 -7
- package/dist/react/useResult.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/core/FragmentReference.ts +7 -5
- package/src/core/IsographEnvironment.ts +17 -18
- package/src/core/cache.ts +5 -23
- package/src/core/entrypoint.ts +6 -21
- package/src/core/makeNetworkRequest.ts +8 -17
- package/src/core/read.ts +3 -6
- package/src/core/reader.ts +6 -25
- package/src/core/startUpdate.ts +6 -9
- package/src/index.ts +1 -0
- package/src/loadable-hooks/useClientSideDefer.ts +5 -16
- package/src/loadable-hooks/useConnectionSpecPagination.ts +7 -16
- package/src/loadable-hooks/useSkipLimitPagination.ts +8 -21
- package/src/react/useImperativeReference.ts +3 -11
- package/src/react/useLazyReference.ts +2 -6
- package/src/react/useReadAndSubscribe.ts +4 -11
- package/src/react/useResult.ts +5 -7
|
@@ -1,19 +1,11 @@
|
|
|
1
|
-
import { ExtractData, FragmentReference } from '../core/FragmentReference';
|
|
1
|
+
import { ExtractData, FragmentReference, type UnknownTReadFromStore } from '../core/FragmentReference';
|
|
2
2
|
import { NetworkRequestReaderOptions, WithEncounteredRecords } from '../core/read';
|
|
3
|
-
import type { ReaderAst
|
|
3
|
+
import type { ReaderAst } from '../core/reader';
|
|
4
4
|
/**
|
|
5
5
|
* Read the data from a fragment reference and subscribe to updates.
|
|
6
6
|
*/
|
|
7
|
-
export declare function useReadAndSubscribe<TReadFromStore extends
|
|
8
|
-
|
|
9
|
-
data: object;
|
|
10
|
-
startUpdate?: StartUpdate<object>;
|
|
11
|
-
}>(fragmentReference: FragmentReference<TReadFromStore, any>, networkRequestOptions: NetworkRequestReaderOptions, readerAst: ReaderAst<TReadFromStore>): ExtractData<TReadFromStore>;
|
|
12
|
-
export declare function useSubscribeToMultiple<TReadFromStore extends {
|
|
13
|
-
parameters: object;
|
|
14
|
-
data: object;
|
|
15
|
-
startUpdate?: StartUpdate<object>;
|
|
16
|
-
}>(items: ReadonlyArray<{
|
|
7
|
+
export declare function useReadAndSubscribe<TReadFromStore extends UnknownTReadFromStore>(fragmentReference: FragmentReference<TReadFromStore, any>, networkRequestOptions: NetworkRequestReaderOptions, readerAst: ReaderAst<TReadFromStore>): ExtractData<TReadFromStore>;
|
|
8
|
+
export declare function useSubscribeToMultiple<TReadFromStore extends UnknownTReadFromStore>(items: ReadonlyArray<{
|
|
17
9
|
records: WithEncounteredRecords<TReadFromStore>;
|
|
18
10
|
callback: (updatedRecords: WithEncounteredRecords<TReadFromStore>) => void;
|
|
19
11
|
fragmentReference: FragmentReference<TReadFromStore, any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useReadAndSubscribe.d.ts","sourceRoot":"","sources":["../../src/react/useReadAndSubscribe.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,WAAW,EACX,iBAAiB,
|
|
1
|
+
{"version":3,"file":"useReadAndSubscribe.d.ts","sourceRoot":"","sources":["../../src/react/useReadAndSubscribe.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,WAAW,EACX,iBAAiB,EAEjB,KAAK,qBAAqB,EAC3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,2BAA2B,EAE3B,sBAAsB,EACvB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAIhD;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,cAAc,SAAS,qBAAqB,EAE5C,iBAAiB,EAAE,iBAAiB,CAAC,cAAc,EAAE,GAAG,CAAC,EACzD,qBAAqB,EAAE,2BAA2B,EAClD,SAAS,EAAE,SAAS,CAAC,cAAc,CAAC,GACnC,WAAW,CAAC,cAAc,CAAC,CAY7B;AAED,wBAAgB,sBAAsB,CACpC,cAAc,SAAS,qBAAqB,EAE5C,KAAK,EAAE,aAAa,CAAC;IACnB,OAAO,EAAE,sBAAsB,CAAC,cAAc,CAAC,CAAC;IAChD,QAAQ,EAAE,CAAC,cAAc,EAAE,sBAAsB,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IAC3E,iBAAiB,EAAE,iBAAiB,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IAC1D,SAAS,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;CACtC,CAAC,QAiCH"}
|
|
@@ -1,11 +1,6 @@
|
|
|
1
|
-
import { FragmentReference } from '../core/FragmentReference';
|
|
1
|
+
import { FragmentReference, type UnknownTReadFromStore } from '../core/FragmentReference';
|
|
2
2
|
import { PromiseWrapper } from '../core/PromiseWrapper';
|
|
3
3
|
import { NetworkRequestReaderOptions } from '../core/read';
|
|
4
|
-
|
|
5
|
-
export declare function useResult<TReadFromStore extends {
|
|
6
|
-
parameters: object;
|
|
7
|
-
data: object;
|
|
8
|
-
startUpdate?: StartUpdate<object>;
|
|
9
|
-
}, TClientFieldValue>(fragmentReference: FragmentReference<TReadFromStore, TClientFieldValue>, partialNetworkRequestOptions?: Partial<NetworkRequestReaderOptions> | void): TClientFieldValue;
|
|
4
|
+
export declare function useResult<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue>(fragmentReference: FragmentReference<TReadFromStore, TClientFieldValue>, partialNetworkRequestOptions?: Partial<NetworkRequestReaderOptions> | void): TClientFieldValue;
|
|
10
5
|
export declare function maybeUnwrapNetworkRequest(networkRequest: PromiseWrapper<void, any>, networkRequestOptions: NetworkRequestReaderOptions): void;
|
|
11
6
|
//# sourceMappingURL=useResult.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useResult.d.ts","sourceRoot":"","sources":["../../src/react/useResult.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"useResult.d.ts","sourceRoot":"","sources":["../../src/react/useResult.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EACjB,KAAK,qBAAqB,EAC3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAEL,cAAc,EAEf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAEL,2BAA2B,EAC5B,MAAM,cAAc,CAAC;AAKtB,wBAAgB,SAAS,CACvB,cAAc,SAAS,qBAAqB,EAC5C,iBAAiB,EAEjB,iBAAiB,EAAE,iBAAiB,CAAC,cAAc,EAAE,iBAAiB,CAAC,EACvE,4BAA4B,CAAC,EAAE,OAAO,CAAC,2BAA2B,CAAC,GAAG,IAAI,GACzE,iBAAiB,CAwCnB;AAED,wBAAgB,yBAAyB,CACvC,cAAc,EAAE,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,EACzC,qBAAqB,EAAE,2BAA2B,QAWnD"}
|
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-89410ff8",
|
|
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-89410ff8",
|
|
24
|
+
"@isograph/react-disposable-state": "0.0.0-main-89410ff8",
|
|
25
|
+
"@isograph/reference-counted-pointer": "0.0.0-main-89410ff8"
|
|
26
26
|
},
|
|
27
27
|
"peerDependencies": {
|
|
28
28
|
"react": "^18.0.0 || ^19.0.0"
|
|
@@ -8,6 +8,12 @@ export type VariableValue = string | number | boolean | null | object;
|
|
|
8
8
|
|
|
9
9
|
export type Variables = { readonly [index: string]: VariableValue };
|
|
10
10
|
|
|
11
|
+
export type UnknownTReadFromStore = {
|
|
12
|
+
parameters: object;
|
|
13
|
+
data: object;
|
|
14
|
+
startUpdate?: StartUpdate<object>;
|
|
15
|
+
};
|
|
16
|
+
|
|
11
17
|
export type ExtractData<T> = T extends {
|
|
12
18
|
data: infer D extends object;
|
|
13
19
|
}
|
|
@@ -27,11 +33,7 @@ export type ExtractStartUpdate<
|
|
|
27
33
|
> = T['startUpdate'];
|
|
28
34
|
|
|
29
35
|
export type FragmentReference<
|
|
30
|
-
TReadFromStore extends
|
|
31
|
-
parameters: object;
|
|
32
|
-
data: object;
|
|
33
|
-
startUpdate?: StartUpdate<object>;
|
|
34
|
-
},
|
|
36
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
35
37
|
TClientFieldValue,
|
|
36
38
|
> = {
|
|
37
39
|
readonly kind: 'FragmentReference';
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import { ParentCache } from '@isograph/react-disposable-state';
|
|
2
2
|
import { IsographEntrypoint } from './entrypoint';
|
|
3
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
FragmentReference,
|
|
5
|
+
Variables,
|
|
6
|
+
type UnknownTReadFromStore,
|
|
7
|
+
} from './FragmentReference';
|
|
4
8
|
import { RetainedQuery } from './garbageCollection';
|
|
5
9
|
import { LogFunction, WrappedLogFunction } from './logging';
|
|
6
10
|
import { PromiseWrapper, wrapPromise } from './PromiseWrapper';
|
|
7
11
|
import { WithEncounteredRecords } from './read';
|
|
8
|
-
import type { ReaderAst
|
|
12
|
+
import type { ReaderAst } from './reader';
|
|
9
13
|
|
|
10
14
|
export type ComponentOrFieldName = string;
|
|
11
15
|
export type StringifiedArgs = string;
|
|
@@ -15,22 +19,17 @@ export type ComponentCache = {
|
|
|
15
19
|
};
|
|
16
20
|
};
|
|
17
21
|
|
|
18
|
-
export type FragmentSubscription<
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
/** The value read out from the previous call to readButDoNotEvaluate */
|
|
30
|
-
readonly encounteredDataAndRecords: WithEncounteredRecords<TReadFromStore>;
|
|
31
|
-
readonly fragmentReference: FragmentReference<TReadFromStore, any>;
|
|
32
|
-
readonly readerAst: ReaderAst<TReadFromStore>;
|
|
33
|
-
};
|
|
22
|
+
export type FragmentSubscription<TReadFromStore extends UnknownTReadFromStore> =
|
|
23
|
+
{
|
|
24
|
+
readonly kind: 'FragmentSubscription';
|
|
25
|
+
readonly callback: (
|
|
26
|
+
newEncounteredDataAndRecords: WithEncounteredRecords<TReadFromStore>,
|
|
27
|
+
) => void;
|
|
28
|
+
/** The value read out from the previous call to readButDoNotEvaluate */
|
|
29
|
+
readonly encounteredDataAndRecords: WithEncounteredRecords<TReadFromStore>;
|
|
30
|
+
readonly fragmentReference: FragmentReference<TReadFromStore, any>;
|
|
31
|
+
readonly readerAst: ReaderAst<TReadFromStore>;
|
|
32
|
+
};
|
|
34
33
|
|
|
35
34
|
export type AnyChangesToRecordSubscription = {
|
|
36
35
|
readonly kind: 'AnyChangesToRecord';
|
package/src/core/cache.ts
CHANGED
|
@@ -19,6 +19,7 @@ import {
|
|
|
19
19
|
ExtractParameters,
|
|
20
20
|
FragmentReference,
|
|
21
21
|
Variables,
|
|
22
|
+
type UnknownTReadFromStore,
|
|
22
23
|
} from './FragmentReference';
|
|
23
24
|
import {
|
|
24
25
|
DataId,
|
|
@@ -35,22 +36,13 @@ import { logMessage } from './logging';
|
|
|
35
36
|
import { maybeMakeNetworkRequest } from './makeNetworkRequest';
|
|
36
37
|
import { wrapResolvedValue } from './PromiseWrapper';
|
|
37
38
|
import { readButDoNotEvaluate, WithEncounteredRecords } from './read';
|
|
38
|
-
import {
|
|
39
|
-
ReaderLinkedField,
|
|
40
|
-
ReaderScalarField,
|
|
41
|
-
type ReaderAst,
|
|
42
|
-
type StartUpdate,
|
|
43
|
-
} from './reader';
|
|
39
|
+
import { ReaderLinkedField, ReaderScalarField, type ReaderAst } from './reader';
|
|
44
40
|
import { Argument, ArgumentValue } from './util';
|
|
45
41
|
|
|
46
42
|
export const TYPENAME_FIELD_NAME = '__typename';
|
|
47
43
|
|
|
48
44
|
export function getOrCreateItemInSuspenseCache<
|
|
49
|
-
TReadFromStore extends
|
|
50
|
-
parameters: object;
|
|
51
|
-
data: object;
|
|
52
|
-
startUpdate?: StartUpdate<object>;
|
|
53
|
-
},
|
|
45
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
54
46
|
TClientFieldValue,
|
|
55
47
|
>(
|
|
56
48
|
environment: IsographEnvironment,
|
|
@@ -94,11 +86,7 @@ export function stableCopy<T>(value: T): T {
|
|
|
94
86
|
}
|
|
95
87
|
|
|
96
88
|
export function getOrCreateCacheForArtifact<
|
|
97
|
-
TReadFromStore extends
|
|
98
|
-
parameters: object;
|
|
99
|
-
data: object;
|
|
100
|
-
startUpdate?: StartUpdate<object>;
|
|
101
|
-
},
|
|
89
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
102
90
|
TClientFieldValue,
|
|
103
91
|
TNormalizationAst extends NormalizationAst | NormalizationAstLoader,
|
|
104
92
|
>(
|
|
@@ -228,13 +216,7 @@ export function subscribeToAnyChangesToRecord(
|
|
|
228
216
|
}
|
|
229
217
|
|
|
230
218
|
// TODO we should re-read and call callback if the value has changed
|
|
231
|
-
export function subscribe<
|
|
232
|
-
TReadFromStore extends {
|
|
233
|
-
parameters: object;
|
|
234
|
-
data: object;
|
|
235
|
-
startUpdate?: StartUpdate<object>;
|
|
236
|
-
},
|
|
237
|
-
>(
|
|
219
|
+
export function subscribe<TReadFromStore extends UnknownTReadFromStore>(
|
|
238
220
|
environment: IsographEnvironment,
|
|
239
221
|
encounteredDataAndRecords: WithEncounteredRecords<TReadFromStore>,
|
|
240
222
|
fragmentReference: FragmentReference<TReadFromStore, any>,
|
package/src/core/entrypoint.ts
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
|
+
import type { UnknownTReadFromStore } from './FragmentReference';
|
|
1
2
|
import type { TypeName } from './IsographEnvironment';
|
|
2
|
-
import { TopLevelReaderArtifact
|
|
3
|
+
import { TopLevelReaderArtifact } from './reader';
|
|
3
4
|
import { Arguments } from './util';
|
|
4
5
|
|
|
5
6
|
export type ReaderWithRefetchQueries<
|
|
6
|
-
TReadFromStore extends
|
|
7
|
-
parameters: object;
|
|
8
|
-
data: object;
|
|
9
|
-
startUpdate?: StartUpdate<object>;
|
|
10
|
-
},
|
|
7
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
11
8
|
TClientFieldValue,
|
|
12
9
|
> = {
|
|
13
10
|
readonly kind: 'ReaderWithRefetchQueries';
|
|
@@ -27,11 +24,7 @@ export type NetworkRequestInfo<TNormalizationAst> = {
|
|
|
27
24
|
};
|
|
28
25
|
// This type should be treated as an opaque type.
|
|
29
26
|
export type IsographEntrypoint<
|
|
30
|
-
TReadFromStore extends
|
|
31
|
-
parameters: object;
|
|
32
|
-
data: object;
|
|
33
|
-
startUpdate?: StartUpdate<object>;
|
|
34
|
-
},
|
|
27
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
35
28
|
TClientFieldValue,
|
|
36
29
|
TNormalizationAst extends NormalizationAst | NormalizationAstLoader,
|
|
37
30
|
> = {
|
|
@@ -45,11 +38,7 @@ export type IsographEntrypoint<
|
|
|
45
38
|
};
|
|
46
39
|
|
|
47
40
|
export type IsographEntrypointLoader<
|
|
48
|
-
TReadFromStore extends
|
|
49
|
-
parameters: object;
|
|
50
|
-
data: object;
|
|
51
|
-
startUpdate?: StartUpdate<object>;
|
|
52
|
-
},
|
|
41
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
53
42
|
TClientFieldValue,
|
|
54
43
|
> = {
|
|
55
44
|
readonly kind: 'EntrypointLoader';
|
|
@@ -110,11 +99,7 @@ export type RefetchQueryNormalizationArtifactWrapper = {
|
|
|
110
99
|
};
|
|
111
100
|
|
|
112
101
|
export function assertIsEntrypoint<
|
|
113
|
-
TReadFromStore extends
|
|
114
|
-
parameters: object;
|
|
115
|
-
data: object;
|
|
116
|
-
startUpdate?: StartUpdate<object>;
|
|
117
|
-
},
|
|
102
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
118
103
|
TClientFieldValue,
|
|
119
104
|
TNormalizationAst extends NormalizationAst | NormalizationAstLoader,
|
|
120
105
|
>(
|
|
@@ -8,7 +8,11 @@ import {
|
|
|
8
8
|
type NormalizationAst,
|
|
9
9
|
type NormalizationAstLoader,
|
|
10
10
|
} from './entrypoint';
|
|
11
|
-
import {
|
|
11
|
+
import {
|
|
12
|
+
ExtractParameters,
|
|
13
|
+
type FragmentReference,
|
|
14
|
+
type UnknownTReadFromStore,
|
|
15
|
+
} from './FragmentReference';
|
|
12
16
|
import {
|
|
13
17
|
garbageCollectEnvironment,
|
|
14
18
|
RetainedQuery,
|
|
@@ -24,17 +28,12 @@ import {
|
|
|
24
28
|
wrapResolvedValue,
|
|
25
29
|
} from './PromiseWrapper';
|
|
26
30
|
import { readButDoNotEvaluate } from './read';
|
|
27
|
-
import type { StartUpdate } from './reader';
|
|
28
31
|
import { startUpdate } from './startUpdate';
|
|
29
32
|
|
|
30
33
|
let networkRequestId = 0;
|
|
31
34
|
|
|
32
35
|
export function maybeMakeNetworkRequest<
|
|
33
|
-
TReadFromStore extends
|
|
34
|
-
parameters: object;
|
|
35
|
-
data: object;
|
|
36
|
-
startUpdate?: StartUpdate<object>;
|
|
37
|
-
},
|
|
36
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
38
37
|
TClientFieldValue,
|
|
39
38
|
TNormalizationAst extends NormalizationAst | NormalizationAstLoader,
|
|
40
39
|
>(
|
|
@@ -99,11 +98,7 @@ function loadNormalizationAst(
|
|
|
99
98
|
}
|
|
100
99
|
|
|
101
100
|
export function makeNetworkRequest<
|
|
102
|
-
TReadFromStore extends
|
|
103
|
-
parameters: object;
|
|
104
|
-
data: object;
|
|
105
|
-
startUpdate?: StartUpdate<object>;
|
|
106
|
-
},
|
|
101
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
107
102
|
TClientFieldValue,
|
|
108
103
|
TNormalizationAst extends NormalizationAst | NormalizationAstLoader,
|
|
109
104
|
>(
|
|
@@ -241,11 +236,7 @@ type NetworkRequestStatus =
|
|
|
241
236
|
};
|
|
242
237
|
|
|
243
238
|
function readDataForOnComplete<
|
|
244
|
-
TReadFromStore extends
|
|
245
|
-
parameters: object;
|
|
246
|
-
data: object;
|
|
247
|
-
startUpdate?: StartUpdate<object>;
|
|
248
|
-
},
|
|
239
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
249
240
|
TClientFieldValue,
|
|
250
241
|
TNormalizationAst extends NormalizationAst | NormalizationAstLoader,
|
|
251
242
|
>(
|
package/src/core/read.ts
CHANGED
|
@@ -16,6 +16,7 @@ import {
|
|
|
16
16
|
ExtractParameters,
|
|
17
17
|
FragmentReference,
|
|
18
18
|
Variables,
|
|
19
|
+
type UnknownTReadFromStore,
|
|
19
20
|
} from './FragmentReference';
|
|
20
21
|
import {
|
|
21
22
|
assertLink,
|
|
@@ -33,7 +34,7 @@ import {
|
|
|
33
34
|
wrapPromise,
|
|
34
35
|
wrapResolvedValue,
|
|
35
36
|
} from './PromiseWrapper';
|
|
36
|
-
import { ReaderAst
|
|
37
|
+
import { ReaderAst } from './reader';
|
|
37
38
|
import { startUpdate } from './startUpdate';
|
|
38
39
|
import { Arguments } from './util';
|
|
39
40
|
|
|
@@ -43,11 +44,7 @@ export type WithEncounteredRecords<T> = {
|
|
|
43
44
|
};
|
|
44
45
|
|
|
45
46
|
export function readButDoNotEvaluate<
|
|
46
|
-
TReadFromStore extends
|
|
47
|
-
parameters: object;
|
|
48
|
-
data: object;
|
|
49
|
-
startUpdate?: StartUpdate<object>;
|
|
50
|
-
},
|
|
47
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
51
48
|
>(
|
|
52
49
|
environment: IsographEnvironment,
|
|
53
50
|
fragmentReference: FragmentReference<TReadFromStore, unknown>,
|
package/src/core/reader.ts
CHANGED
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
ExtractParameters,
|
|
12
12
|
FragmentReference,
|
|
13
13
|
type ExtractStartUpdate,
|
|
14
|
+
type UnknownTReadFromStore,
|
|
14
15
|
} from './FragmentReference';
|
|
15
16
|
import {
|
|
16
17
|
ComponentOrFieldName,
|
|
@@ -20,11 +21,7 @@ import {
|
|
|
20
21
|
import { Arguments } from './util';
|
|
21
22
|
|
|
22
23
|
export type TopLevelReaderArtifact<
|
|
23
|
-
TReadFromStore extends
|
|
24
|
-
parameters: object;
|
|
25
|
-
data: object;
|
|
26
|
-
startUpdate?: StartUpdate<object>;
|
|
27
|
-
},
|
|
24
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
28
25
|
TClientFieldValue,
|
|
29
26
|
TComponentProps extends Record<PropertyKey, never>,
|
|
30
27
|
> =
|
|
@@ -32,11 +29,7 @@ export type TopLevelReaderArtifact<
|
|
|
32
29
|
| ComponentReaderArtifact<TReadFromStore, TComponentProps>;
|
|
33
30
|
|
|
34
31
|
export type EagerReaderArtifact<
|
|
35
|
-
TReadFromStore extends
|
|
36
|
-
parameters: object;
|
|
37
|
-
data: object;
|
|
38
|
-
startUpdate?: StartUpdate<object>;
|
|
39
|
-
},
|
|
32
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
40
33
|
TClientFieldValue,
|
|
41
34
|
> = {
|
|
42
35
|
readonly kind: 'EagerReaderArtifact';
|
|
@@ -48,11 +41,7 @@ export type EagerReaderArtifact<
|
|
|
48
41
|
};
|
|
49
42
|
|
|
50
43
|
export type ComponentReaderArtifact<
|
|
51
|
-
TReadFromStore extends
|
|
52
|
-
parameters: object;
|
|
53
|
-
data: object;
|
|
54
|
-
startUpdate?: StartUpdate<object>;
|
|
55
|
-
},
|
|
44
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
56
45
|
TComponentProps extends Record<string, unknown> = Record<PropertyKey, never>,
|
|
57
46
|
> = {
|
|
58
47
|
readonly kind: 'ComponentReaderArtifact';
|
|
@@ -66,11 +55,7 @@ export type ComponentReaderArtifact<
|
|
|
66
55
|
};
|
|
67
56
|
|
|
68
57
|
export type ResolverFirstParameter<
|
|
69
|
-
TReadFromStore extends
|
|
70
|
-
data: object;
|
|
71
|
-
parameters: object;
|
|
72
|
-
startUpdate?: StartUpdate<object>;
|
|
73
|
-
},
|
|
58
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
74
59
|
> = {
|
|
75
60
|
data: ExtractData<TReadFromStore>;
|
|
76
61
|
parameters: ExtractParameters<TReadFromStore>;
|
|
@@ -178,11 +163,7 @@ export type StableId = string;
|
|
|
178
163
|
/// except to stringify the args or whatnot. Calling the factory can be
|
|
179
164
|
/// expensive. For example, doing so will probably trigger a network request.
|
|
180
165
|
export type LoadableField<
|
|
181
|
-
TReadFromStore extends
|
|
182
|
-
data: object;
|
|
183
|
-
parameters: object;
|
|
184
|
-
startUpdate?: StartUpdate<object>;
|
|
185
|
-
},
|
|
166
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
186
167
|
TResult,
|
|
187
168
|
TArgs = ExtractParameters<TReadFromStore>,
|
|
188
169
|
> = (
|
package/src/core/startUpdate.ts
CHANGED
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type {
|
|
2
|
+
ExtractData,
|
|
3
|
+
ExtractStartUpdate,
|
|
4
|
+
UnknownTReadFromStore,
|
|
5
|
+
} from './FragmentReference';
|
|
2
6
|
import type { IsographEnvironment } from './IsographEnvironment';
|
|
3
|
-
import type { StartUpdate } from './reader';
|
|
4
7
|
|
|
5
|
-
export function startUpdate<
|
|
6
|
-
TReadFromStore extends {
|
|
7
|
-
parameters: object;
|
|
8
|
-
data: object;
|
|
9
|
-
startUpdate?: StartUpdate<object>;
|
|
10
|
-
},
|
|
11
|
-
>(
|
|
8
|
+
export function startUpdate<TReadFromStore extends UnknownTReadFromStore>(
|
|
12
9
|
_environment: IsographEnvironment,
|
|
13
10
|
_data: ExtractData<TReadFromStore>,
|
|
14
11
|
): ExtractStartUpdate<TReadFromStore> {
|
package/src/index.ts
CHANGED
|
@@ -4,16 +4,13 @@ import { FetchOptions } from '../core/check';
|
|
|
4
4
|
import {
|
|
5
5
|
ExtractParameters,
|
|
6
6
|
FragmentReference,
|
|
7
|
+
type UnknownTReadFromStore,
|
|
7
8
|
} from '../core/FragmentReference';
|
|
8
|
-
import { LoadableField
|
|
9
|
+
import { LoadableField } from '../core/reader';
|
|
9
10
|
import { useIsographEnvironment } from '../react/IsographEnvironmentProvider';
|
|
10
11
|
|
|
11
12
|
export function useClientSideDefer<
|
|
12
|
-
TReadFromStore extends
|
|
13
|
-
data: object;
|
|
14
|
-
parameters: object;
|
|
15
|
-
startUpdate?: StartUpdate<object>;
|
|
16
|
-
},
|
|
13
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
17
14
|
TResult,
|
|
18
15
|
>(
|
|
19
16
|
loadableField: LoadableField<
|
|
@@ -26,11 +23,7 @@ export function useClientSideDefer<
|
|
|
26
23
|
): { fragmentReference: FragmentReference<TReadFromStore, TResult> };
|
|
27
24
|
|
|
28
25
|
export function useClientSideDefer<
|
|
29
|
-
TReadFromStore extends
|
|
30
|
-
data: object;
|
|
31
|
-
parameters: object;
|
|
32
|
-
startUpdate?: StartUpdate<object>;
|
|
33
|
-
},
|
|
26
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
34
27
|
TResult,
|
|
35
28
|
TProvidedArgs extends object,
|
|
36
29
|
>(
|
|
@@ -44,11 +37,7 @@ export function useClientSideDefer<
|
|
|
44
37
|
): { fragmentReference: FragmentReference<TReadFromStore, TResult> };
|
|
45
38
|
|
|
46
39
|
export function useClientSideDefer<
|
|
47
|
-
TReadFromStore extends
|
|
48
|
-
data: object;
|
|
49
|
-
parameters: object;
|
|
50
|
-
startUpdate?: StartUpdate<object>;
|
|
51
|
-
},
|
|
40
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
52
41
|
TResult,
|
|
53
42
|
TProvidedArgs extends object,
|
|
54
43
|
>(
|
|
@@ -10,28 +10,23 @@ import {
|
|
|
10
10
|
import { useState } from 'react';
|
|
11
11
|
import { subscribeToAnyChange } from '../core/cache';
|
|
12
12
|
import { FetchOptions } from '../core/check';
|
|
13
|
-
import {
|
|
13
|
+
import {
|
|
14
|
+
FragmentReference,
|
|
15
|
+
type UnknownTReadFromStore,
|
|
16
|
+
} from '../core/FragmentReference';
|
|
14
17
|
import { getPromiseState, readPromise } from '../core/PromiseWrapper';
|
|
15
18
|
import {
|
|
16
19
|
readButDoNotEvaluate,
|
|
17
20
|
type WithEncounteredRecords,
|
|
18
21
|
} from '../core/read';
|
|
19
|
-
import {
|
|
20
|
-
LoadableField,
|
|
21
|
-
type ReaderAst,
|
|
22
|
-
type StartUpdate,
|
|
23
|
-
} from '../core/reader';
|
|
22
|
+
import { LoadableField, type ReaderAst } from '../core/reader';
|
|
24
23
|
import { startUpdate } from '../core/startUpdate';
|
|
25
24
|
import { useIsographEnvironment } from '../react/IsographEnvironmentProvider';
|
|
26
25
|
import { useSubscribeToMultiple } from '../react/useReadAndSubscribe';
|
|
27
26
|
import { maybeUnwrapNetworkRequest } from '../react/useResult';
|
|
28
27
|
|
|
29
28
|
export type UsePaginationReturnValue<
|
|
30
|
-
TReadFromStore extends
|
|
31
|
-
parameters: object;
|
|
32
|
-
data: object;
|
|
33
|
-
startUpdate?: StartUpdate<object>;
|
|
34
|
-
},
|
|
29
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
35
30
|
TItem,
|
|
36
31
|
> =
|
|
37
32
|
| {
|
|
@@ -92,11 +87,7 @@ export type UseConnectionSpecPaginationArgs = {
|
|
|
92
87
|
};
|
|
93
88
|
|
|
94
89
|
export function useConnectionSpecPagination<
|
|
95
|
-
TReadFromStore extends
|
|
96
|
-
parameters: object;
|
|
97
|
-
data: object;
|
|
98
|
-
startUpdate?: StartUpdate<object>;
|
|
99
|
-
},
|
|
90
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
100
91
|
TItem,
|
|
101
92
|
>(
|
|
102
93
|
loadableField: LoadableField<
|
|
@@ -10,28 +10,23 @@ import {
|
|
|
10
10
|
import { useState } from 'react';
|
|
11
11
|
import { subscribeToAnyChange } from '../core/cache';
|
|
12
12
|
import { FetchOptions } from '../core/check';
|
|
13
|
-
import {
|
|
13
|
+
import {
|
|
14
|
+
FragmentReference,
|
|
15
|
+
type UnknownTReadFromStore,
|
|
16
|
+
} from '../core/FragmentReference';
|
|
14
17
|
import { getPromiseState, readPromise } from '../core/PromiseWrapper';
|
|
15
18
|
import {
|
|
16
19
|
readButDoNotEvaluate,
|
|
17
20
|
type WithEncounteredRecords,
|
|
18
21
|
} from '../core/read';
|
|
19
|
-
import {
|
|
20
|
-
LoadableField,
|
|
21
|
-
type ReaderAst,
|
|
22
|
-
type StartUpdate,
|
|
23
|
-
} from '../core/reader';
|
|
22
|
+
import { LoadableField, type ReaderAst } from '../core/reader';
|
|
24
23
|
import { startUpdate } from '../core/startUpdate';
|
|
25
24
|
import { useIsographEnvironment } from '../react/IsographEnvironmentProvider';
|
|
26
25
|
import { useSubscribeToMultiple } from '../react/useReadAndSubscribe';
|
|
27
26
|
import { maybeUnwrapNetworkRequest } from '../react/useResult';
|
|
28
27
|
|
|
29
28
|
export type UseSkipLimitReturnValue<
|
|
30
|
-
TReadFromStore extends
|
|
31
|
-
data: object;
|
|
32
|
-
parameters: object;
|
|
33
|
-
startUpdate?: StartUpdate<object>;
|
|
34
|
-
},
|
|
29
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
35
30
|
TItem,
|
|
36
31
|
> =
|
|
37
32
|
| {
|
|
@@ -52,11 +47,7 @@ export type UseSkipLimitReturnValue<
|
|
|
52
47
|
};
|
|
53
48
|
|
|
54
49
|
type ArrayFragmentReference<
|
|
55
|
-
TReadFromStore extends
|
|
56
|
-
parameters: object;
|
|
57
|
-
data: object;
|
|
58
|
-
startUpdate?: StartUpdate<object>;
|
|
59
|
-
},
|
|
50
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
60
51
|
TItem,
|
|
61
52
|
> = FragmentReference<TReadFromStore, ReadonlyArray<TItem>>;
|
|
62
53
|
|
|
@@ -89,11 +80,7 @@ export type UseSkipLimitPaginationArgs = {
|
|
|
89
80
|
|
|
90
81
|
export function useSkipLimitPagination<
|
|
91
82
|
TItem,
|
|
92
|
-
TReadFromStore extends
|
|
93
|
-
parameters: object;
|
|
94
|
-
data: object;
|
|
95
|
-
startUpdate?: StartUpdate<object>;
|
|
96
|
-
},
|
|
83
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
97
84
|
>(
|
|
98
85
|
loadableField: LoadableField<
|
|
99
86
|
TReadFromStore,
|
|
@@ -11,19 +11,15 @@ import {
|
|
|
11
11
|
import {
|
|
12
12
|
ExtractParameters,
|
|
13
13
|
FragmentReference,
|
|
14
|
+
type UnknownTReadFromStore,
|
|
14
15
|
} from '../core/FragmentReference';
|
|
15
16
|
import { ROOT_ID } from '../core/IsographEnvironment';
|
|
16
17
|
import { maybeMakeNetworkRequest } from '../core/makeNetworkRequest';
|
|
17
18
|
import { wrapResolvedValue } from '../core/PromiseWrapper';
|
|
18
|
-
import type { StartUpdate } from '../core/reader';
|
|
19
19
|
import { useIsographEnvironment } from './IsographEnvironmentProvider';
|
|
20
20
|
|
|
21
21
|
export type UseImperativeReferenceResult<
|
|
22
|
-
TReadFromStore extends
|
|
23
|
-
parameters: object;
|
|
24
|
-
data: object;
|
|
25
|
-
startUpdate?: StartUpdate<object>;
|
|
26
|
-
},
|
|
22
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
27
23
|
TClientFieldValue,
|
|
28
24
|
TNormalizationAst extends NormalizationAst | NormalizationAstLoader,
|
|
29
25
|
> = {
|
|
@@ -40,11 +36,7 @@ export type UseImperativeReferenceResult<
|
|
|
40
36
|
};
|
|
41
37
|
|
|
42
38
|
export function useImperativeReference<
|
|
43
|
-
TReadFromStore extends
|
|
44
|
-
parameters: object;
|
|
45
|
-
data: object;
|
|
46
|
-
startUpdate?: StartUpdate<object>;
|
|
47
|
-
},
|
|
39
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
48
40
|
TClientFieldValue,
|
|
49
41
|
TNormalizationAst extends NormalizationAst | NormalizationAstLoader,
|
|
50
42
|
>(
|
|
@@ -9,17 +9,13 @@ import {
|
|
|
9
9
|
import {
|
|
10
10
|
ExtractParameters,
|
|
11
11
|
FragmentReference,
|
|
12
|
+
type UnknownTReadFromStore,
|
|
12
13
|
} from '../core/FragmentReference';
|
|
13
14
|
import { logMessage } from '../core/logging';
|
|
14
|
-
import type { StartUpdate } from '../core/reader';
|
|
15
15
|
import { useIsographEnvironment } from './IsographEnvironmentProvider';
|
|
16
16
|
|
|
17
17
|
export function useLazyReference<
|
|
18
|
-
TReadFromStore extends
|
|
19
|
-
parameters: object;
|
|
20
|
-
data: object;
|
|
21
|
-
startUpdate?: StartUpdate<object>;
|
|
22
|
-
},
|
|
18
|
+
TReadFromStore extends UnknownTReadFromStore,
|
|
23
19
|
TClientFieldValue,
|
|
24
20
|
TNormalizationAst extends NormalizationAst | NormalizationAstLoader,
|
|
25
21
|
>(
|