@isograph/react 0.0.0-main-d7dfd90b → 0.0.0-main-54508c14
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/FragmentReference.d.ts +2 -2
- package/dist/core/FragmentReference.d.ts.map +1 -1
- package/dist/core/IsographEnvironment.d.ts +12 -7
- package/dist/core/IsographEnvironment.d.ts.map +1 -1
- package/dist/core/brand.d.ts +2 -0
- package/dist/core/brand.d.ts.map +1 -0
- package/dist/core/brand.js +2 -0
- package/dist/core/cache.d.ts +4 -4
- package/dist/core/cache.d.ts.map +1 -1
- package/dist/core/cache.js +8 -3
- package/dist/core/check.d.ts +3 -3
- package/dist/core/check.d.ts.map +1 -1
- package/dist/core/garbageCollection.d.ts +2 -2
- package/dist/core/garbageCollection.d.ts.map +1 -1
- package/dist/core/logging.d.ts +7 -4
- package/dist/core/logging.d.ts.map +1 -1
- package/dist/core/makeNetworkRequest.d.ts.map +1 -1
- package/dist/core/read.d.ts +7 -7
- package/dist/core/read.d.ts.map +1 -1
- package/dist/core/reader.d.ts +3 -3
- package/dist/core/reader.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/core/FragmentReference.ts +2 -2
- package/src/core/IsographEnvironment.ts +13 -7
- package/src/core/areEqualWithDeepComparison.ts +3 -3
- package/src/core/brand.ts +18 -0
- package/src/core/cache.ts +22 -14
- package/src/core/check.ts +4 -4
- package/src/core/garbageCollection.ts +3 -3
- package/src/core/logging.ts +8 -4
- package/src/core/makeNetworkRequest.ts +2 -2
- package/src/core/read.ts +12 -10
- package/src/core/reader.ts +3 -3
- package/src/core/startUpdate.ts +2 -2
- package/src/index.ts +1 -0
- package/src/tests/__isograph/Node/asEconomist/resolver_reader.ts +1 -1
- package/src/tests/__isograph/Query/linkedUpdate/param_type.ts +3 -3
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
../.. | WARN Unsupported engine: wanted: {"node":"22.9.0"} (current: {"node":"v22.19.0","pnpm":"10.15.0"})
|
|
2
2
|
|
|
3
|
-
> @isograph/react@0.0.0-main-
|
|
3
|
+
> @isograph/react@0.0.0-main-54508c14 compile-libs /home/runner/work/isograph/isograph/libs/isograph-react
|
|
4
4
|
> rimraf dist && tsc -p tsconfig.pkg.json
|
|
5
5
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ReaderWithRefetchQueries } from '../core/entrypoint';
|
|
2
|
-
import { type
|
|
2
|
+
import { type StoreLink } from './IsographEnvironment';
|
|
3
3
|
import { PromiseWrapper } from './PromiseWrapper';
|
|
4
4
|
import type { StartUpdate } from './reader';
|
|
5
5
|
export type VariableValue = string | number | boolean | null | {
|
|
@@ -25,7 +25,7 @@ export type ExtractUpdatableDataFromStartUpdate<T> = T extends StartUpdate<infer
|
|
|
25
25
|
export type FragmentReference<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue> = {
|
|
26
26
|
readonly kind: 'FragmentReference';
|
|
27
27
|
readonly readerWithRefetchQueries: PromiseWrapper<ReaderWithRefetchQueries<TReadFromStore, TClientFieldValue>>;
|
|
28
|
-
readonly root:
|
|
28
|
+
readonly root: StoreLink;
|
|
29
29
|
readonly variables: ExtractParameters<TReadFromStore>;
|
|
30
30
|
readonly networkRequest: PromiseWrapper<void, any>;
|
|
31
31
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FragmentReference.d.ts","sourceRoot":"","sources":["../../src/core/FragmentReference.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"FragmentReference.d.ts","sourceRoot":"","sources":["../../src/core/FragmentReference.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAG5C,MAAM,MAAM,aAAa,GACrB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ;IACE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC;CACzC,GACD,aAAa,EAAE,CAAC;AAEpB,MAAM,MAAM,SAAS,GAAG;IAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,CAAA;CAAE,CAAC;AAEpE,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS;IACrC,IAAI,EAAE,MAAM,CAAC,SAAS,MAAM,CAAC;CAC9B,GACG,CAAC,GACD,KAAK,CAAC;AAEV,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS;IAC3C,UAAU,EAAE,MAAM,CAAC,SAAS,SAAS,CAAC;CACvC,GACG,CAAC,GACD,SAAS,CAAC;AAEd,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,qBAAqB,IAC5D,CAAC,CAAC,aAAa,CAAC,CAAC;AAEnB,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,qBAAqB,IAC9D,mCAAmC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7D,MAAM,MAAM,mCAAmC,CAAC,CAAC,IAC/C,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE7C,MAAM,MAAM,iBAAiB,CAC3B,cAAc,SAAS,qBAAqB,EAC5C,iBAAiB,IACf;IACF,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,wBAAwB,EAAE,cAAc,CAC/C,wBAAwB,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAC5D,CAAC;IACF,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAOzB,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,CAAC;IACtD,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,MAAM,CAAC;AAElD,wBAAgB,4BAA4B,CAC1C,iBAAiB,EAAE,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,EAC9C,SAAS,EAAE,MAAM,GAChB,4BAA4B,CAE9B"}
|
|
@@ -6,6 +6,7 @@ import { LogFunction, WrappedLogFunction } from './logging';
|
|
|
6
6
|
import { PromiseWrapper } from './PromiseWrapper';
|
|
7
7
|
import { WithEncounteredRecords } from './read';
|
|
8
8
|
import type { ReaderAst, StartUpdate } from './reader';
|
|
9
|
+
import type { Brand } from './brand';
|
|
9
10
|
export type ComponentOrFieldName = string;
|
|
10
11
|
export type StringifiedArgs = string;
|
|
11
12
|
export type FieldCache<T> = {
|
|
@@ -22,7 +23,7 @@ export type FragmentSubscription<TReadFromStore extends UnknownTReadFromStore> =
|
|
|
22
23
|
export type AnyChangesToRecordSubscription = {
|
|
23
24
|
readonly kind: 'AnyChangesToRecord';
|
|
24
25
|
readonly callback: () => void;
|
|
25
|
-
readonly recordLink:
|
|
26
|
+
readonly recordLink: StoreLink;
|
|
26
27
|
};
|
|
27
28
|
export type AnyRecordSubscription = {
|
|
28
29
|
readonly kind: 'AnyRecords';
|
|
@@ -47,15 +48,19 @@ export type IsographEnvironment = {
|
|
|
47
48
|
readonly gcBufferSize: number;
|
|
48
49
|
readonly loggers: Set<WrappedLogFunction>;
|
|
49
50
|
};
|
|
50
|
-
export type MissingFieldHandler = (storeRecord: StoreRecord, root:
|
|
51
|
+
export type MissingFieldHandler = (storeRecord: StoreRecord, root: StoreLink, fieldName: string, arguments_: {
|
|
51
52
|
[index: string]: any;
|
|
52
|
-
} | null, variables: Variables | null) =>
|
|
53
|
+
} | null, variables: Variables | null) => StoreLink | undefined;
|
|
53
54
|
export type IsographNetworkFunction = (operation: IsographOperation | IsographPersistedOperation, variables: Variables) => Promise<any>;
|
|
54
|
-
export
|
|
55
|
+
export interface Link<T extends TypeName> extends StoreLink {
|
|
56
|
+
readonly __link: Brand<DataId, T>;
|
|
57
|
+
readonly __typename: T;
|
|
58
|
+
}
|
|
59
|
+
export type StoreLink = {
|
|
55
60
|
readonly __link: DataId;
|
|
56
61
|
readonly __typename: TypeName;
|
|
57
62
|
};
|
|
58
|
-
export type DataTypeValue = undefined | number | boolean | string | null |
|
|
63
|
+
export type DataTypeValue = undefined | number | boolean | string | null | StoreLink | DataTypeValue[];
|
|
59
64
|
export type StoreRecord = {
|
|
60
65
|
[index: DataId | string]: DataTypeValue;
|
|
61
66
|
readonly id?: DataId;
|
|
@@ -73,7 +78,7 @@ export type IsographStore = {
|
|
|
73
78
|
};
|
|
74
79
|
export declare function createIsographEnvironment(store: IsographStore, networkFunction: IsographNetworkFunction, missingFieldHandler?: MissingFieldHandler | null, logFunction?: LogFunction | null): IsographEnvironment;
|
|
75
80
|
export declare function createIsographStore(): IsographStore;
|
|
76
|
-
export declare function assertLink(link: DataTypeValue):
|
|
77
|
-
export declare function getLink(maybeLink: DataTypeValue):
|
|
81
|
+
export declare function assertLink(link: DataTypeValue): StoreLink | null | undefined;
|
|
82
|
+
export declare function getLink(maybeLink: DataTypeValue): StoreLink | null;
|
|
78
83
|
export declare function getOrLoadIsographArtifact(environment: IsographEnvironment, key: string, loader: () => Promise<IsographEntrypoint<any, any, any>>): PromiseWrapper<IsographEntrypoint<any, any, any>>;
|
|
79
84
|
//# sourceMappingURL=IsographEnvironment.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IsographEnvironment.d.ts","sourceRoot":"","sources":["../../src/core/IsographEnvironment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,0BAA0B,EAC3B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,iBAAiB,EACjB,SAAS,EACT,KAAK,4BAA4B,EACjC,KAAK,qBAAqB,EAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAe,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"IsographEnvironment.d.ts","sourceRoot":"","sources":["../../src/core/IsographEnvironment.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brand.d.ts","sourceRoot":"","sources":["../../src/core/brand.ts"],"names":[],"mappings":"AAaA,MAAM,MAAM,KAAK,CACf,QAAQ,EACR,KAAK,SAAS,MAAM,GAAG,MAAM,IAE3B,MAAM,CAAC,SAAS,KAAK,GAAG,QAAQ,GAAG,KAAK,CAAC"}
|
package/dist/core/cache.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { Factory, ParentCache } from '@isograph/react-disposable-state';
|
|
|
2
2
|
import { IsographEntrypoint, NormalizationLinkedField, NormalizationScalarField, type NormalizationAst, type NormalizationAstLoader, type NormalizationAstNodes } from '../core/entrypoint';
|
|
3
3
|
import { FetchOptions } from './check';
|
|
4
4
|
import { ExtractParameters, FragmentReference, Variables, type UnknownTReadFromStore } from './FragmentReference';
|
|
5
|
-
import { DataId,
|
|
5
|
+
import { DataId, StoreLink, type IsographEnvironment, type TypeName } from './IsographEnvironment';
|
|
6
6
|
import { WithEncounteredRecords } from './read';
|
|
7
7
|
import { ReaderLinkedField, ReaderScalarField, type ReaderAst } from './reader';
|
|
8
8
|
export declare const TYPENAME_FIELD_NAME = "__typename";
|
|
@@ -21,11 +21,11 @@ export type NetworkResponseObject = {
|
|
|
21
21
|
id?: DataId;
|
|
22
22
|
__typename?: TypeName;
|
|
23
23
|
};
|
|
24
|
-
export declare function normalizeData(environment: IsographEnvironment, normalizationAst: NormalizationAstNodes, networkResponse: NetworkResponseObject, variables: Variables, root:
|
|
24
|
+
export declare function normalizeData(environment: IsographEnvironment, normalizationAst: NormalizationAstNodes, networkResponse: NetworkResponseObject, variables: Variables, root: StoreLink): EncounteredIds;
|
|
25
25
|
export declare function subscribeToAnyChange(environment: IsographEnvironment, callback: () => void): () => void;
|
|
26
|
-
export declare function subscribeToAnyChangesToRecord(environment: IsographEnvironment, recordLink:
|
|
26
|
+
export declare function subscribeToAnyChangesToRecord(environment: IsographEnvironment, recordLink: StoreLink, callback: () => void): () => void;
|
|
27
27
|
export declare function subscribe<TReadFromStore extends UnknownTReadFromStore>(environment: IsographEnvironment, encounteredDataAndRecords: WithEncounteredRecords<TReadFromStore>, fragmentReference: FragmentReference<TReadFromStore, any>, callback: (newEncounteredDataAndRecords: WithEncounteredRecords<TReadFromStore>) => void, readerAst: ReaderAst<TReadFromStore>): () => void;
|
|
28
|
-
export declare function onNextChangeToRecord(environment: IsographEnvironment, recordLink:
|
|
28
|
+
export declare function onNextChangeToRecord(environment: IsographEnvironment, recordLink: StoreLink): Promise<void>;
|
|
29
29
|
export declare function callSubscriptions(environment: IsographEnvironment, recordsEncounteredWhenNormalizing: EncounteredIds): void;
|
|
30
30
|
export type EncounteredIds = Map<TypeName, Set<DataId>>;
|
|
31
31
|
export declare function insertEmptySetIfMissing<K, V>(map: Map<K, Set<V>>, key: K): Set<V>;
|
package/dist/core/cache.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/core/cache.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EAEP,WAAW,EACZ,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,kBAAkB,EAElB,wBAAwB,EACxB,wBAAwB,EACxB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC3B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,SAAS,EACT,KAAK,qBAAqB,EAE3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,MAAM,
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/core/cache.ts"],"names":[],"mappings":"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"}
|
package/dist/core/cache.js
CHANGED
|
@@ -144,16 +144,21 @@ function onNextChangeToRecord(environment, recordLink) {
|
|
|
144
144
|
//
|
|
145
145
|
// That's probably okay to ignore. We don't, however, want to prevent
|
|
146
146
|
// updating other subscriptions if one subscription had missing data.
|
|
147
|
-
function withErrorHandling(f) {
|
|
147
|
+
function withErrorHandling(environment, f) {
|
|
148
148
|
return (t) => {
|
|
149
149
|
try {
|
|
150
150
|
return f(t);
|
|
151
151
|
}
|
|
152
|
-
catch (
|
|
152
|
+
catch (e) {
|
|
153
|
+
(0, logging_1.logMessage)(environment, () => ({
|
|
154
|
+
kind: 'ErrorEncounteredInWithErrorHandling',
|
|
155
|
+
error: e,
|
|
156
|
+
}));
|
|
157
|
+
}
|
|
153
158
|
};
|
|
154
159
|
}
|
|
155
160
|
function callSubscriptions(environment, recordsEncounteredWhenNormalizing) {
|
|
156
|
-
environment.subscriptions.forEach(withErrorHandling((subscription) => {
|
|
161
|
+
environment.subscriptions.forEach(withErrorHandling(environment, (subscription) => {
|
|
157
162
|
var _a;
|
|
158
163
|
switch (subscription.kind) {
|
|
159
164
|
case 'FragmentSubscription': {
|
package/dist/core/check.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { NormalizationAstNodes } from './entrypoint';
|
|
2
2
|
import { Variables } from './FragmentReference';
|
|
3
|
-
import { IsographEnvironment,
|
|
3
|
+
import { IsographEnvironment, StoreLink } from './IsographEnvironment';
|
|
4
4
|
export type ShouldFetch = RequiredShouldFetch | 'IfNecessary';
|
|
5
5
|
export type RequiredShouldFetch = 'Yes' | 'No';
|
|
6
6
|
export declare const DEFAULT_SHOULD_FETCH_VALUE: ShouldFetch;
|
|
@@ -16,7 +16,7 @@ export type CheckResult = {
|
|
|
16
16
|
kind: 'EnoughData';
|
|
17
17
|
} | {
|
|
18
18
|
kind: 'MissingData';
|
|
19
|
-
record:
|
|
19
|
+
record: StoreLink;
|
|
20
20
|
};
|
|
21
|
-
export declare function check(environment: IsographEnvironment, normalizationAst: NormalizationAstNodes, variables: Variables, root:
|
|
21
|
+
export declare function check(environment: IsographEnvironment, normalizationAst: NormalizationAstNodes, variables: Variables, root: StoreLink): CheckResult;
|
|
22
22
|
//# sourceMappingURL=check.d.ts.map
|
package/dist/core/check.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/core/check.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAEL,mBAAmB,EACnB,
|
|
1
|
+
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/core/check.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAEL,mBAAmB,EACnB,SAAS,EAEV,MAAM,uBAAuB,CAAC;AAG/B,MAAM,MAAM,WAAW,GAAG,mBAAmB,GAAG,aAAa,CAAC;AAC9D,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,IAAI,CAAC;AAE/C,eAAO,MAAM,0BAA0B,EAAE,WAA2B,CAAC;AAErE,MAAM,MAAM,YAAY,CAAC,YAAY,IAAI;IACvC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IAC1C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,YAAY,IAAI;IAC/C,WAAW,EAAE,mBAAmB,CAAC;CAClC,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;AAE/B,MAAM,MAAM,WAAW,GACnB;IACE,IAAI,EAAE,YAAY,CAAC;CACpB,GACD;IACE,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,EAAE,SAAS,CAAC;CACnB,CAAC;AAEN,wBAAgB,KAAK,CACnB,WAAW,EAAE,mBAAmB,EAChC,gBAAgB,EAAE,qBAAqB,EACvC,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,SAAS,GACd,WAAW,CAgBb"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { NormalizationAstNodes } from './entrypoint';
|
|
2
|
-
import { IsographEnvironment, type
|
|
2
|
+
import { IsographEnvironment, type StoreLink } from './IsographEnvironment';
|
|
3
3
|
export type RetainedQuery = {
|
|
4
4
|
readonly normalizationAst: NormalizationAstNodes;
|
|
5
5
|
readonly variables: {};
|
|
6
|
-
readonly root:
|
|
6
|
+
readonly root: StoreLink;
|
|
7
7
|
};
|
|
8
8
|
export type DidUnretainSomeQuery = boolean;
|
|
9
9
|
export declare function unretainQuery(environment: IsographEnvironment, retainedQuery: RetainedQuery): DidUnretainSomeQuery;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"garbageCollection.d.ts","sourceRoot":"","sources":["../../src/core/garbageCollection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAErD,OAAO,EAGL,mBAAmB,EAGnB,KAAK,
|
|
1
|
+
{"version":3,"file":"garbageCollection.d.ts","sourceRoot":"","sources":["../../src/core/garbageCollection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAErD,OAAO,EAGL,mBAAmB,EAGnB,KAAK,SAAS,EAEf,MAAM,uBAAuB,CAAC;AAE/B,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,gBAAgB,EAAE,qBAAqB,CAAC;IACjD,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC;AAC3C,wBAAgB,aAAa,CAC3B,WAAW,EAAE,mBAAmB,EAChC,aAAa,EAAE,aAAa,GAC3B,oBAAoB,CAUtB;AAED,wBAAgB,WAAW,CACzB,WAAW,EAAE,mBAAmB,EAChC,aAAa,EAAE,aAAa,QAM7B;AAED,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,mBAAmB,QA+BzE"}
|
package/dist/core/logging.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { NetworkResponseObject, type EncounteredIds } from './cache';
|
|
|
3
3
|
import { CheckResult } from './check';
|
|
4
4
|
import { IsographEntrypoint, RefetchQueryNormalizationArtifact, type NormalizationAstNodes } from './entrypoint';
|
|
5
5
|
import { FragmentReference, Variables } from './FragmentReference';
|
|
6
|
-
import { IsographEnvironment, IsographStore, StoreRecord, type
|
|
6
|
+
import { IsographEnvironment, IsographStore, StoreRecord, type StoreLink } from './IsographEnvironment';
|
|
7
7
|
import { ReadDataResult } from './read';
|
|
8
8
|
import { Arguments } from './util';
|
|
9
9
|
export type LogMessage = {
|
|
@@ -24,7 +24,7 @@ export type LogMessage = {
|
|
|
24
24
|
} | {
|
|
25
25
|
kind: 'ComponentRerendered';
|
|
26
26
|
componentName: string;
|
|
27
|
-
rootLink:
|
|
27
|
+
rootLink: StoreLink;
|
|
28
28
|
} | {
|
|
29
29
|
kind: 'MakeNetworkRequest';
|
|
30
30
|
artifact: RefetchQueryNormalizationArtifact | IsographEntrypoint<any, any, any>;
|
|
@@ -40,7 +40,7 @@ export type LogMessage = {
|
|
|
40
40
|
networkRequestId: string;
|
|
41
41
|
} | {
|
|
42
42
|
kind: 'MissingFieldHandlerCalled';
|
|
43
|
-
root:
|
|
43
|
+
root: StoreLink;
|
|
44
44
|
storeRecord: StoreRecord;
|
|
45
45
|
fieldName: string;
|
|
46
46
|
arguments: Arguments | null;
|
|
@@ -49,7 +49,7 @@ export type LogMessage = {
|
|
|
49
49
|
kind: 'DoneReading';
|
|
50
50
|
response: ReadDataResult<any>;
|
|
51
51
|
fieldName: string;
|
|
52
|
-
root:
|
|
52
|
+
root: StoreLink;
|
|
53
53
|
} | {
|
|
54
54
|
kind: 'NonEntrypointReceived';
|
|
55
55
|
entrypoint: any;
|
|
@@ -64,6 +64,9 @@ export type LogMessage = {
|
|
|
64
64
|
} | {
|
|
65
65
|
kind: 'StartUpdateComplete';
|
|
66
66
|
updatedIds: EncounteredIds;
|
|
67
|
+
} | {
|
|
68
|
+
kind: 'ErrorEncounteredInWithErrorHandling';
|
|
69
|
+
error: any;
|
|
67
70
|
};
|
|
68
71
|
export type LogFunction = (logMessage: LogMessage) => void;
|
|
69
72
|
export type WrappedLogFunction = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../src/core/logging.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,KAAK,cAAc,EAAE,MAAM,SAAS,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EACL,kBAAkB,EAClB,iCAAiC,EACjC,KAAK,qBAAqB,EAC3B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,KAAK,
|
|
1
|
+
{"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../src/core/logging.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeNetworkRequest.d.ts","sourceRoot":"","sources":["../../src/core/makeNetworkRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,EAAqC,YAAY,EAAE,MAAM,SAAS,CAAC;AAE1E,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,iCAAiC,EACjC,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC5B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,iBAAiB,EAEjB,KAAK,qBAAqB,EAC3B,MAAM,qBAAqB,CAAC;AAO7B,OAAO,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"makeNetworkRequest.d.ts","sourceRoot":"","sources":["../../src/core/makeNetworkRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,EAAqC,YAAY,EAAE,MAAM,SAAS,CAAC;AAE1E,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,iCAAiC,EACjC,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC5B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,iBAAiB,EAEjB,KAAK,qBAAqB,EAC3B,MAAM,qBAAqB,CAAC;AAO7B,OAAO,EAAE,mBAAmB,EAAsB,MAAM,uBAAuB,CAAC;AAEhF,OAAO,EACL,QAAQ,EACR,cAAc,EAGf,MAAM,kBAAkB,CAAC;AAM1B,wBAAgB,uBAAuB,CACrC,cAAc,SAAS,qBAAqB,EAC5C,iBAAiB,EACjB,SAAS,SACL,iCAAiC,GACjC,kBAAkB,CAAC,cAAc,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,EAC5E,iBAAiB,SAAS,gBAAgB,GAAG,sBAAsB,EAEnE,WAAW,EAAE,mBAAmB,EAChC,QAAQ,EAAE,SAAS,EACnB,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAC5C,wBAAwB,EAAE,cAAc,CACtC,wBAAwB,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAC5D,GAAG,IAAI,EACR,YAAY,EAAE,YAAY,CAAC,iBAAiB,CAAC,GAAG,IAAI,GACnD,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CA8CjD;AAeD,wBAAgB,kBAAkB,CAChC,cAAc,SAAS,qBAAqB,EAC5C,iBAAiB,EACjB,SAAS,SACL,iCAAiC,GACjC,kBAAkB,CAAC,cAAc,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,EAC5E,iBAAiB,SAAS,gBAAgB,GAAG,sBAAsB,EAEnE,WAAW,EAAE,mBAAmB,EAChC,QAAQ,EAAE,SAAS,EACnB,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAC5C,wBAAwB,EAAE,cAAc,CACtC,wBAAwB,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAC5D,GAAG,IAAI,EACR,YAAY,EAAE,YAAY,CAAC,iBAAiB,CAAC,GAAG,IAAI,GACnD,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAgHjD"}
|
package/dist/core/read.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type EncounteredIds } from './cache';
|
|
2
2
|
import { RefetchQueryNormalizationArtifactWrapper } from './entrypoint';
|
|
3
3
|
import { ExtractData, FragmentReference, Variables, type UnknownTReadFromStore } from './FragmentReference';
|
|
4
|
-
import { IsographEnvironment, type DataTypeValue, type
|
|
4
|
+
import { IsographEnvironment, type DataTypeValue, type StoreLink, type StoreRecord } from './IsographEnvironment';
|
|
5
5
|
import { PromiseWrapper } from './PromiseWrapper';
|
|
6
6
|
import { ReaderAst, type LoadablySelectedField, type ReaderImperativelyLoadedField, type ReaderLinkedField, type ReaderNonLoadableResolverField, type ReaderScalarField } from './reader';
|
|
7
7
|
export type WithEncounteredRecords<T> = {
|
|
@@ -17,16 +17,16 @@ export type ReadDataResult<Data> = ReadDataResultSuccess<Data> | {
|
|
|
17
17
|
readonly kind: 'MissingData';
|
|
18
18
|
readonly reason: string;
|
|
19
19
|
readonly nestedReason?: ReadDataResult<unknown>;
|
|
20
|
-
readonly recordLink:
|
|
20
|
+
readonly recordLink: StoreLink;
|
|
21
21
|
};
|
|
22
|
-
export declare function readLoadablySelectedFieldData(environment: IsographEnvironment, field: LoadablySelectedField, root:
|
|
23
|
-
export declare function readResolverFieldData(environment: IsographEnvironment, field: ReaderNonLoadableResolverField, root:
|
|
24
|
-
export declare function readScalarFieldData(field: ReaderScalarField, storeRecord: StoreRecord, root:
|
|
25
|
-
export declare function readLinkedFieldData(environment: IsographEnvironment, field: ReaderLinkedField, storeRecord: StoreRecord, root:
|
|
22
|
+
export declare function readLoadablySelectedFieldData(environment: IsographEnvironment, field: LoadablySelectedField, root: StoreLink, variables: Variables, networkRequest: PromiseWrapper<void, any>, networkRequestOptions: NetworkRequestReaderOptions, mutableEncounteredRecords: EncounteredIds): ReadDataResult<unknown>;
|
|
23
|
+
export declare function readResolverFieldData(environment: IsographEnvironment, field: ReaderNonLoadableResolverField, root: StoreLink, variables: Variables, nestedRefetchQueries: RefetchQueryNormalizationArtifactWrapper[], networkRequest: PromiseWrapper<void, any>, networkRequestOptions: NetworkRequestReaderOptions, mutableEncounteredRecords: EncounteredIds): ReadDataResult<unknown>;
|
|
24
|
+
export declare function readScalarFieldData(field: ReaderScalarField, storeRecord: StoreRecord, root: StoreLink, variables: Variables): ReadDataResult<string | number | boolean | StoreLink | DataTypeValue[] | null>;
|
|
25
|
+
export declare function readLinkedFieldData(environment: IsographEnvironment, field: ReaderLinkedField, storeRecord: StoreRecord, root: StoreLink, variables: Variables, nestedRefetchQueries: RefetchQueryNormalizationArtifactWrapper[], networkRequest: PromiseWrapper<void, any>, networkRequestOptions: NetworkRequestReaderOptions, readData: <TReadFromStore>(ast: ReaderAst<TReadFromStore>, root: StoreLink) => ReadDataResult<object>): ReadDataResult<unknown>;
|
|
26
26
|
export type NetworkRequestReaderOptions = {
|
|
27
27
|
suspendIfInFlight: boolean;
|
|
28
28
|
throwOnNetworkError: boolean;
|
|
29
29
|
};
|
|
30
30
|
export declare function getNetworkRequestOptionsWithDefaults(networkRequestOptions?: Partial<NetworkRequestReaderOptions> | void): NetworkRequestReaderOptions;
|
|
31
|
-
export declare function readImperativelyLoadedField(environment: IsographEnvironment, field: ReaderImperativelyLoadedField, root:
|
|
31
|
+
export declare function readImperativelyLoadedField(environment: IsographEnvironment, field: ReaderImperativelyLoadedField, root: StoreLink, variables: Variables, nestedRefetchQueries: RefetchQueryNormalizationArtifactWrapper[], networkRequest: PromiseWrapper<void, any>, networkRequestOptions: NetworkRequestReaderOptions, mutableEncounteredRecords: EncounteredIds): ReadDataResult<unknown>;
|
|
32
32
|
//# sourceMappingURL=read.d.ts.map
|
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,
|
|
1
|
+
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../src/core/read.ts"],"names":[],"mappings":"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"}
|
package/dist/core/reader.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { Factory } from '@isograph/disposable-types';
|
|
|
2
2
|
import { FetchOptions } from './check';
|
|
3
3
|
import { IsographEntrypoint, IsographEntrypointLoader, RefetchQueryNormalizationArtifact, RefetchQueryNormalizationArtifactWrapper } from './entrypoint';
|
|
4
4
|
import { ExtractParameters, FragmentReference, type UnknownTReadFromStore } from './FragmentReference';
|
|
5
|
-
import { ComponentOrFieldName, IsographEnvironment, type
|
|
5
|
+
import { ComponentOrFieldName, IsographEnvironment, type StoreLink } from './IsographEnvironment';
|
|
6
6
|
import { Arguments } from './util';
|
|
7
7
|
export type TopLevelReaderArtifact<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue, TComponentProps extends Record<PropertyKey, never>> = EagerReaderArtifact<TReadFromStore, TClientFieldValue> | ComponentReaderArtifact<TReadFromStore, TComponentProps>;
|
|
8
8
|
export type EagerReaderArtifact<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue> = {
|
|
@@ -24,7 +24,7 @@ export type StartUpdate<UpdatableData> = (updater: (updatableData: UpdatableData
|
|
|
24
24
|
export type RefetchReaderArtifact = {
|
|
25
25
|
readonly kind: 'RefetchReaderArtifact';
|
|
26
26
|
readonly readerAst: ReaderAst<unknown>;
|
|
27
|
-
readonly resolver: (environment: IsographEnvironment, artifact: RefetchQueryNormalizationArtifact, variables: any, filteredVariables: any, rootLink:
|
|
27
|
+
readonly resolver: (environment: IsographEnvironment, artifact: RefetchQueryNormalizationArtifact, variables: any, filteredVariables: any, rootLink: StoreLink, readerArtifact: TopLevelReaderArtifact<any, any, any> | null, nestedRefetchQueries: RefetchQueryNormalizationArtifactWrapper[]) => () => void;
|
|
28
28
|
};
|
|
29
29
|
export type ReaderAstNode = ReaderScalarField | ReaderLinkedField | ReaderNonLoadableResolverField | ReaderImperativelyLoadedField | LoadablySelectedField | ReaderLinkField;
|
|
30
30
|
export type ReaderAst<TReadFromStore> = ReadonlyArray<ReaderAstNode>;
|
|
@@ -49,7 +49,7 @@ export type ReaderLinkedField = {
|
|
|
49
49
|
data: any;
|
|
50
50
|
parameters: any;
|
|
51
51
|
startUpdate?: StartUpdate<any>;
|
|
52
|
-
},
|
|
52
|
+
}, StoreLink | null> | null;
|
|
53
53
|
readonly isUpdatable: boolean;
|
|
54
54
|
/**
|
|
55
55
|
* If refetchQueryIndex != null, then the linked field is a client pointer.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reader.d.ts","sourceRoot":"","sources":["../../src/core/reader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,iCAAiC,EACjC,wCAAwC,EACzC,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,qBAAqB,EAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,KAAK,
|
|
1
|
+
{"version":3,"file":"reader.d.ts","sourceRoot":"","sources":["../../src/core/reader.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ export { retainQuery, unretainQuery, type RetainedQuery, garbageCollectEnvironme
|
|
|
2
2
|
export { type PromiseWrapper, readPromise, getPromiseState, wrapResolvedValue, wrapPromise, type PromiseState, type Result, type AnyError, type NotSet, NOT_SET, } from './core/PromiseWrapper';
|
|
3
3
|
export { callSubscriptions, subscribe, normalizeData, type NetworkResponseObject, type NetworkResponseValue, type NetworkResponseScalarValue, type EncounteredIds, } from './core/cache';
|
|
4
4
|
export { makeNetworkRequest } from './core/makeNetworkRequest';
|
|
5
|
-
export { ROOT_ID, type DataId, type DataTypeValue, type IsographEnvironment, type IsographNetworkFunction, type IsographStore, type MissingFieldHandler, type Link, type StoreRecord, type CacheMap, createIsographEnvironment, createIsographStore, type FieldCache, type Subscriptions, type Subscription, type TypeName, type FragmentSubscription, type AnyChangesToRecordSubscription, type AnyRecordSubscription, type ComponentOrFieldName, type StringifiedArgs, } from './core/IsographEnvironment';
|
|
5
|
+
export { ROOT_ID, type DataId, type DataTypeValue, type IsographEnvironment, type IsographNetworkFunction, type IsographStore, type MissingFieldHandler, type StoreLink, type Link, type StoreRecord, type CacheMap, createIsographEnvironment, createIsographStore, type FieldCache, type Subscriptions, type Subscription, type TypeName, type FragmentSubscription, type AnyChangesToRecordSubscription, type AnyRecordSubscription, type ComponentOrFieldName, type StringifiedArgs, } from './core/IsographEnvironment';
|
|
6
6
|
export { type EagerReaderArtifact, type ComponentReaderArtifact, type RefetchReaderArtifact, type ReaderAst, type ReaderAstNode, type ReaderLinkedField, type ReaderNonLoadableResolverField, type ReaderScalarField, type TopLevelReaderArtifact, type LoadableField, type StableId, type ResolverFirstParameter, type ReaderImperativelyLoadedField, type LoadablySelectedField as ReaderLoadableField, type ReaderLinkField, type StartUpdate, } from './core/reader';
|
|
7
7
|
export { type NormalizationAst, type NormalizationAstNode, type NormalizationAstNodes, type NormalizationAstLoader, type NormalizationLinkedField, type NormalizationScalarField, type IsographEntrypoint, type IsographOperation, type IsographPersistedOperation, type IsographPersistedOperationExtraInfo, assertIsEntrypoint, type RefetchQueryNormalizationArtifact, type RefetchQueryNormalizationArtifactWrapper, type ExtractProps, type ExtractReadFromStore, type ExtractResolverResult, type NetworkRequestInfo, type NormalizationInlineFragment, type ReaderWithRefetchQueries, type IsographEntrypointLoader, } from './core/entrypoint';
|
|
8
8
|
export { readButDoNotEvaluate, type WithEncounteredRecords, type NetworkRequestReaderOptions, type ReadDataResult, } from './core/read';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
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-54508c14",
|
|
4
4
|
"description": "Use Isograph with React",
|
|
5
5
|
"homepage": "https://isograph.dev",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -19,9 +19,9 @@
|
|
|
19
19
|
"iso": "cross-env ISO_PRINT_ABSOLUTE_FILEPATH=1 ../../target/debug/isograph_cli --config ./isograph.config.json"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@isograph/disposable-types": "0.0.0-main-
|
|
23
|
-
"@isograph/react-disposable-state": "0.0.0-main-
|
|
24
|
-
"@isograph/reference-counted-pointer": "0.0.0-main-
|
|
22
|
+
"@isograph/disposable-types": "0.0.0-main-54508c14",
|
|
23
|
+
"@isograph/react-disposable-state": "0.0.0-main-54508c14",
|
|
24
|
+
"@isograph/reference-counted-pointer": "0.0.0-main-54508c14"
|
|
25
25
|
},
|
|
26
26
|
"peerDependencies": {
|
|
27
27
|
"react": "^18.0.0 || ^19.0.0"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ReaderWithRefetchQueries } from '../core/entrypoint';
|
|
2
2
|
import { stableCopy } from './cache';
|
|
3
|
-
import { type
|
|
3
|
+
import { type StoreLink } from './IsographEnvironment';
|
|
4
4
|
import { PromiseWrapper } from './PromiseWrapper';
|
|
5
5
|
import type { StartUpdate } from './reader';
|
|
6
6
|
|
|
@@ -52,7 +52,7 @@ export type FragmentReference<
|
|
|
52
52
|
readonly readerWithRefetchQueries: PromiseWrapper<
|
|
53
53
|
ReaderWithRefetchQueries<TReadFromStore, TClientFieldValue>
|
|
54
54
|
>;
|
|
55
|
-
readonly root:
|
|
55
|
+
readonly root: StoreLink;
|
|
56
56
|
// TODO we potentially stably copy and stringify variables a lot!
|
|
57
57
|
// So, we should employ interior mutability: pretend that fragent reference
|
|
58
58
|
// is immutable, but actually store something like
|
|
@@ -15,6 +15,7 @@ import { LogFunction, WrappedLogFunction } from './logging';
|
|
|
15
15
|
import { PromiseWrapper, wrapPromise } from './PromiseWrapper';
|
|
16
16
|
import { WithEncounteredRecords } from './read';
|
|
17
17
|
import type { ReaderAst, StartUpdate } from './reader';
|
|
18
|
+
import type { Brand } from './brand';
|
|
18
19
|
|
|
19
20
|
export type ComponentOrFieldName = string;
|
|
20
21
|
export type StringifiedArgs = string;
|
|
@@ -38,7 +39,7 @@ export type FragmentSubscription<TReadFromStore extends UnknownTReadFromStore> =
|
|
|
38
39
|
export type AnyChangesToRecordSubscription = {
|
|
39
40
|
readonly kind: 'AnyChangesToRecord';
|
|
40
41
|
readonly callback: () => void;
|
|
41
|
-
readonly recordLink:
|
|
42
|
+
readonly recordLink: StoreLink;
|
|
42
43
|
};
|
|
43
44
|
|
|
44
45
|
export type AnyRecordSubscription = {
|
|
@@ -77,18 +78,23 @@ export type IsographEnvironment = {
|
|
|
77
78
|
|
|
78
79
|
export type MissingFieldHandler = (
|
|
79
80
|
storeRecord: StoreRecord,
|
|
80
|
-
root:
|
|
81
|
+
root: StoreLink,
|
|
81
82
|
fieldName: string,
|
|
82
83
|
arguments_: { [index: string]: any } | null,
|
|
83
84
|
variables: Variables | null,
|
|
84
|
-
) =>
|
|
85
|
+
) => StoreLink | undefined;
|
|
85
86
|
|
|
86
87
|
export type IsographNetworkFunction = (
|
|
87
88
|
operation: IsographOperation | IsographPersistedOperation,
|
|
88
89
|
variables: Variables,
|
|
89
90
|
) => Promise<any>;
|
|
90
91
|
|
|
91
|
-
export
|
|
92
|
+
export interface Link<T extends TypeName> extends StoreLink {
|
|
93
|
+
readonly __link: Brand<DataId, T>;
|
|
94
|
+
readonly __typename: T;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
export type StoreLink = {
|
|
92
98
|
readonly __link: DataId;
|
|
93
99
|
readonly __typename: TypeName;
|
|
94
100
|
};
|
|
@@ -103,7 +109,7 @@ export type DataTypeValue =
|
|
|
103
109
|
| string
|
|
104
110
|
| null
|
|
105
111
|
// Singular linked fields:
|
|
106
|
-
|
|
|
112
|
+
| StoreLink
|
|
107
113
|
// Plural scalar and linked fields:
|
|
108
114
|
| DataTypeValue[];
|
|
109
115
|
|
|
@@ -162,7 +168,7 @@ export function createIsographStore(): IsographStore {
|
|
|
162
168
|
};
|
|
163
169
|
}
|
|
164
170
|
|
|
165
|
-
export function assertLink(link: DataTypeValue):
|
|
171
|
+
export function assertLink(link: DataTypeValue): StoreLink | null | undefined {
|
|
166
172
|
if (Array.isArray(link)) {
|
|
167
173
|
throw new Error('Unexpected array');
|
|
168
174
|
}
|
|
@@ -175,7 +181,7 @@ export function assertLink(link: DataTypeValue): Link | null | undefined {
|
|
|
175
181
|
throw new Error('Invalid link');
|
|
176
182
|
}
|
|
177
183
|
|
|
178
|
-
export function getLink(maybeLink: DataTypeValue):
|
|
184
|
+
export function getLink(maybeLink: DataTypeValue): StoreLink | null {
|
|
179
185
|
if (
|
|
180
186
|
maybeLink != null &&
|
|
181
187
|
typeof maybeLink === 'object' &&
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { StoreLink } from './IsographEnvironment';
|
|
2
2
|
import type { ReaderAst, ReaderLinkedField, ReaderScalarField } from './reader';
|
|
3
3
|
|
|
4
4
|
export function mergeUsingReaderAst(
|
|
@@ -101,9 +101,9 @@ export function mergeObjectsUsingReaderAst(
|
|
|
101
101
|
case 'Link': {
|
|
102
102
|
const key = field.alias;
|
|
103
103
|
// @ts-expect-error
|
|
104
|
-
const oldValue:
|
|
104
|
+
const oldValue: StoreLink = oldItemObject[key];
|
|
105
105
|
// @ts-expect-error
|
|
106
|
-
const newValue:
|
|
106
|
+
const newValue: StoreLink = newItemObject[key];
|
|
107
107
|
|
|
108
108
|
if (
|
|
109
109
|
oldValue.__link !== newValue.__link ||
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// Suppress the TypeScript compiler warning for this branded-type trick.
|
|
2
|
+
// See discussion: https://github.com/microsoft/TypeScript/issues/202#issuecomment-436900738
|
|
3
|
+
// Pattern: “Brand<BaseType, Brand>” leverages TypeScript conditional and `infer` types to create a pseudo-nominal type,
|
|
4
|
+
// enabling BaseType to be treated as distinct only when tagged with Brand, even though Brand doesn't exist at runtime.
|
|
5
|
+
//
|
|
6
|
+
// Explanation:
|
|
7
|
+
// - Brand extends `symbol | string` acts as a “brand” identifier.
|
|
8
|
+
// - The type uses a conditional check `infer _ extends Brand ? BaseType : never` to strip out BaseType when the branding doesn't match.
|
|
9
|
+
// - This yields a branded type system: `Brand<string, "UserId">` is not accidentally assignable to `Brand<string, "ProductId">`.
|
|
10
|
+
//
|
|
11
|
+
// Usage: Helps enforce semantic distinctions (e.g., distinguishing user IDs from product IDs) even when their runtime values are both strings.
|
|
12
|
+
//
|
|
13
|
+
// Caveat: This is purely a compile-time trick—Brand is erased in emitted JavaScript, so runtime checks must rely on other mechanisms.
|
|
14
|
+
export type Brand<
|
|
15
|
+
BaseType,
|
|
16
|
+
Brand extends symbol | string,
|
|
17
|
+
// @ts-ignore
|
|
18
|
+
> = infer _ extends Brand ? BaseType : never;
|
package/src/core/cache.ts
CHANGED
|
@@ -26,8 +26,8 @@ import {
|
|
|
26
26
|
DataTypeValue,
|
|
27
27
|
FragmentSubscription,
|
|
28
28
|
getLink,
|
|
29
|
-
Link,
|
|
30
29
|
ROOT_ID,
|
|
30
|
+
StoreLink,
|
|
31
31
|
StoreRecord,
|
|
32
32
|
type IsographEnvironment,
|
|
33
33
|
type TypeName,
|
|
@@ -157,7 +157,7 @@ export function normalizeData(
|
|
|
157
157
|
normalizationAst: NormalizationAstNodes,
|
|
158
158
|
networkResponse: NetworkResponseObject,
|
|
159
159
|
variables: Variables,
|
|
160
|
-
root:
|
|
160
|
+
root: StoreLink,
|
|
161
161
|
): EncounteredIds {
|
|
162
162
|
const encounteredIds: EncounteredIds = new Map();
|
|
163
163
|
|
|
@@ -205,7 +205,7 @@ export function subscribeToAnyChange(
|
|
|
205
205
|
|
|
206
206
|
export function subscribeToAnyChangesToRecord(
|
|
207
207
|
environment: IsographEnvironment,
|
|
208
|
-
recordLink:
|
|
208
|
+
recordLink: StoreLink,
|
|
209
209
|
callback: () => void,
|
|
210
210
|
): () => void {
|
|
211
211
|
const subscription = {
|
|
@@ -240,7 +240,7 @@ export function subscribe<TReadFromStore extends UnknownTReadFromStore>(
|
|
|
240
240
|
|
|
241
241
|
export function onNextChangeToRecord(
|
|
242
242
|
environment: IsographEnvironment,
|
|
243
|
-
recordLink:
|
|
243
|
+
recordLink: StoreLink,
|
|
244
244
|
): Promise<void> {
|
|
245
245
|
return new Promise((resolve) => {
|
|
246
246
|
const unsubscribe = subscribeToAnyChangesToRecord(
|
|
@@ -259,11 +259,19 @@ export function onNextChangeToRecord(
|
|
|
259
259
|
//
|
|
260
260
|
// That's probably okay to ignore. We don't, however, want to prevent
|
|
261
261
|
// updating other subscriptions if one subscription had missing data.
|
|
262
|
-
function withErrorHandling<T>(
|
|
262
|
+
function withErrorHandling<T>(
|
|
263
|
+
environment: IsographEnvironment,
|
|
264
|
+
f: (t: T) => void,
|
|
265
|
+
): (t: T) => void {
|
|
263
266
|
return (t) => {
|
|
264
267
|
try {
|
|
265
268
|
return f(t);
|
|
266
|
-
} catch {
|
|
269
|
+
} catch (e) {
|
|
270
|
+
logMessage(environment, () => ({
|
|
271
|
+
kind: 'ErrorEncounteredInWithErrorHandling',
|
|
272
|
+
error: e,
|
|
273
|
+
}));
|
|
274
|
+
}
|
|
267
275
|
};
|
|
268
276
|
}
|
|
269
277
|
|
|
@@ -272,7 +280,7 @@ export function callSubscriptions(
|
|
|
272
280
|
recordsEncounteredWhenNormalizing: EncounteredIds,
|
|
273
281
|
) {
|
|
274
282
|
environment.subscriptions.forEach(
|
|
275
|
-
withErrorHandling((subscription) => {
|
|
283
|
+
withErrorHandling(environment, (subscription) => {
|
|
276
284
|
switch (subscription.kind) {
|
|
277
285
|
case 'FragmentSubscription': {
|
|
278
286
|
// TODO if there are multiple components subscribed to the same
|
|
@@ -387,7 +395,7 @@ function normalizeDataIntoRecord(
|
|
|
387
395
|
normalizationAst: NormalizationAstNodes,
|
|
388
396
|
networkResponseParentRecord: NetworkResponseObject,
|
|
389
397
|
targetParentRecord: StoreRecord,
|
|
390
|
-
targetParentRecordLink:
|
|
398
|
+
targetParentRecordLink: StoreLink,
|
|
391
399
|
variables: Variables,
|
|
392
400
|
mutableEncounteredIds: EncounteredIds,
|
|
393
401
|
): RecordHasBeenUpdated {
|
|
@@ -492,7 +500,7 @@ function normalizeLinkedField(
|
|
|
492
500
|
astNode: NormalizationLinkedField,
|
|
493
501
|
networkResponseParentRecord: NetworkResponseObject,
|
|
494
502
|
targetParentRecord: StoreRecord,
|
|
495
|
-
targetParentRecordLink:
|
|
503
|
+
targetParentRecordLink: StoreLink,
|
|
496
504
|
variables: Variables,
|
|
497
505
|
mutableEncounteredIds: EncounteredIds,
|
|
498
506
|
): RecordHasBeenUpdated {
|
|
@@ -517,7 +525,7 @@ function normalizeLinkedField(
|
|
|
517
525
|
|
|
518
526
|
if (Array.isArray(networkResponseData)) {
|
|
519
527
|
// TODO check astNode.plural or the like
|
|
520
|
-
const dataIds: (
|
|
528
|
+
const dataIds: (StoreLink | null)[] = [];
|
|
521
529
|
for (let i = 0; i < networkResponseData.length; i++) {
|
|
522
530
|
const networkResponseObject = networkResponseData[i];
|
|
523
531
|
if (networkResponseObject == null) {
|
|
@@ -588,7 +596,7 @@ function normalizeInlineFragment(
|
|
|
588
596
|
astNode: NormalizationInlineFragment,
|
|
589
597
|
networkResponseParentRecord: NetworkResponseObject,
|
|
590
598
|
targetParentRecord: StoreRecord,
|
|
591
|
-
targetParentRecordLink:
|
|
599
|
+
targetParentRecordLink: StoreLink,
|
|
592
600
|
variables: Variables,
|
|
593
601
|
mutableEncounteredIds: EncounteredIds,
|
|
594
602
|
): RecordHasBeenUpdated {
|
|
@@ -610,7 +618,7 @@ function normalizeInlineFragment(
|
|
|
610
618
|
|
|
611
619
|
function dataIdsAreTheSame(
|
|
612
620
|
existingValue: DataTypeValue,
|
|
613
|
-
newDataIds: (
|
|
621
|
+
newDataIds: (StoreLink | null)[],
|
|
614
622
|
): boolean {
|
|
615
623
|
if (Array.isArray(existingValue)) {
|
|
616
624
|
if (newDataIds.length !== existingValue.length) {
|
|
@@ -635,7 +643,7 @@ function normalizeNetworkResponseObject(
|
|
|
635
643
|
environment: IsographEnvironment,
|
|
636
644
|
astNode: NormalizationLinkedField,
|
|
637
645
|
networkResponseData: NetworkResponseObject,
|
|
638
|
-
targetParentRecordLink:
|
|
646
|
+
targetParentRecordLink: StoreLink,
|
|
639
647
|
variables: Variables,
|
|
640
648
|
index: number | null,
|
|
641
649
|
mutableEncounteredIds: EncounteredIds,
|
|
@@ -830,7 +838,7 @@ export const THIRD_SPLIT_KEY = '__';
|
|
|
830
838
|
|
|
831
839
|
// Returns a key to look up an item in the store
|
|
832
840
|
function getDataIdOfNetworkResponse(
|
|
833
|
-
parentRecordLink:
|
|
841
|
+
parentRecordLink: StoreLink,
|
|
834
842
|
dataToNormalize: NetworkResponseObject,
|
|
835
843
|
astNode: NormalizationLinkedField,
|
|
836
844
|
variables: Variables,
|
package/src/core/check.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { Variables } from './FragmentReference';
|
|
|
4
4
|
import {
|
|
5
5
|
getLink,
|
|
6
6
|
IsographEnvironment,
|
|
7
|
-
|
|
7
|
+
StoreLink,
|
|
8
8
|
StoreRecord,
|
|
9
9
|
} from './IsographEnvironment';
|
|
10
10
|
import { logMessage } from './logging';
|
|
@@ -30,14 +30,14 @@ export type CheckResult =
|
|
|
30
30
|
}
|
|
31
31
|
| {
|
|
32
32
|
kind: 'MissingData';
|
|
33
|
-
record:
|
|
33
|
+
record: StoreLink;
|
|
34
34
|
};
|
|
35
35
|
|
|
36
36
|
export function check(
|
|
37
37
|
environment: IsographEnvironment,
|
|
38
38
|
normalizationAst: NormalizationAstNodes,
|
|
39
39
|
variables: Variables,
|
|
40
|
-
root:
|
|
40
|
+
root: StoreLink,
|
|
41
41
|
): CheckResult {
|
|
42
42
|
const recordsById = (environment.store[root.__typename] ??= {});
|
|
43
43
|
const newStoreRecord = (recordsById[root.__link] ??= {});
|
|
@@ -61,7 +61,7 @@ function checkFromRecord(
|
|
|
61
61
|
normalizationAst: NormalizationAstNodes,
|
|
62
62
|
variables: Variables,
|
|
63
63
|
record: StoreRecord,
|
|
64
|
-
recordLink:
|
|
64
|
+
recordLink: StoreLink,
|
|
65
65
|
): CheckResult {
|
|
66
66
|
normalizationAstLoop: for (const normalizationAstNode of normalizationAst) {
|
|
67
67
|
switch (normalizationAstNode.kind) {
|
|
@@ -7,14 +7,14 @@ import {
|
|
|
7
7
|
IsographEnvironment,
|
|
8
8
|
IsographStore,
|
|
9
9
|
StoreRecord,
|
|
10
|
-
type
|
|
10
|
+
type StoreLink,
|
|
11
11
|
type TypeName,
|
|
12
12
|
} from './IsographEnvironment';
|
|
13
13
|
|
|
14
14
|
export type RetainedQuery = {
|
|
15
15
|
readonly normalizationAst: NormalizationAstNodes;
|
|
16
16
|
readonly variables: {};
|
|
17
|
-
readonly root:
|
|
17
|
+
readonly root: StoreLink;
|
|
18
18
|
};
|
|
19
19
|
|
|
20
20
|
export type DidUnretainSomeQuery = boolean;
|
|
@@ -117,7 +117,7 @@ function recordReachableIdsFromRecord(
|
|
|
117
117
|
const linkKey = getParentRecordKey(selection, variables ?? {});
|
|
118
118
|
const linkedFieldOrFields = currentRecord[linkKey];
|
|
119
119
|
|
|
120
|
-
const links:
|
|
120
|
+
const links: StoreLink[] = [];
|
|
121
121
|
if (Array.isArray(linkedFieldOrFields)) {
|
|
122
122
|
for (const maybeLink of linkedFieldOrFields) {
|
|
123
123
|
const link = assertLink(maybeLink);
|
package/src/core/logging.ts
CHANGED
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
IsographEnvironment,
|
|
12
12
|
IsographStore,
|
|
13
13
|
StoreRecord,
|
|
14
|
-
type
|
|
14
|
+
type StoreLink,
|
|
15
15
|
} from './IsographEnvironment';
|
|
16
16
|
import { ReadDataResult } from './read';
|
|
17
17
|
import { Arguments } from './util';
|
|
@@ -38,7 +38,7 @@ export type LogMessage =
|
|
|
38
38
|
| {
|
|
39
39
|
kind: 'ComponentRerendered';
|
|
40
40
|
componentName: string;
|
|
41
|
-
rootLink:
|
|
41
|
+
rootLink: StoreLink;
|
|
42
42
|
}
|
|
43
43
|
| {
|
|
44
44
|
kind: 'MakeNetworkRequest';
|
|
@@ -61,7 +61,7 @@ export type LogMessage =
|
|
|
61
61
|
}
|
|
62
62
|
| {
|
|
63
63
|
kind: 'MissingFieldHandlerCalled';
|
|
64
|
-
root:
|
|
64
|
+
root: StoreLink;
|
|
65
65
|
storeRecord: StoreRecord;
|
|
66
66
|
fieldName: string;
|
|
67
67
|
arguments: Arguments | null;
|
|
@@ -71,7 +71,7 @@ export type LogMessage =
|
|
|
71
71
|
kind: 'DoneReading';
|
|
72
72
|
response: ReadDataResult<any>;
|
|
73
73
|
fieldName: string;
|
|
74
|
-
root:
|
|
74
|
+
root: StoreLink;
|
|
75
75
|
}
|
|
76
76
|
| {
|
|
77
77
|
kind: 'NonEntrypointReceived';
|
|
@@ -91,6 +91,10 @@ export type LogMessage =
|
|
|
91
91
|
| {
|
|
92
92
|
kind: 'StartUpdateComplete';
|
|
93
93
|
updatedIds: EncounteredIds;
|
|
94
|
+
}
|
|
95
|
+
| {
|
|
96
|
+
kind: 'ErrorEncounteredInWithErrorHandling';
|
|
97
|
+
error: any;
|
|
94
98
|
};
|
|
95
99
|
|
|
96
100
|
export type LogFunction = (logMessage: LogMessage) => void;
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
retainQuery,
|
|
21
21
|
unretainQuery,
|
|
22
22
|
} from './garbageCollection';
|
|
23
|
-
import { IsographEnvironment,
|
|
23
|
+
import { IsographEnvironment, ROOT_ID, StoreLink } from './IsographEnvironment';
|
|
24
24
|
import { logMessage } from './logging';
|
|
25
25
|
import {
|
|
26
26
|
AnyError,
|
|
@@ -260,7 +260,7 @@ function readDataForOnComplete<
|
|
|
260
260
|
>(
|
|
261
261
|
artifact: TArtifact,
|
|
262
262
|
environment: IsographEnvironment,
|
|
263
|
-
root:
|
|
263
|
+
root: StoreLink,
|
|
264
264
|
variables: ExtractParameters<TReadFromStore>,
|
|
265
265
|
readerWithRefetchQueries:
|
|
266
266
|
| ReaderWithRefetchQueries<TReadFromStore, TClientFieldValue>
|
package/src/core/read.ts
CHANGED
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
getOrLoadIsographArtifact,
|
|
24
24
|
IsographEnvironment,
|
|
25
25
|
type DataTypeValue,
|
|
26
|
-
type
|
|
26
|
+
type StoreLink,
|
|
27
27
|
type StoreRecord,
|
|
28
28
|
} from './IsographEnvironment';
|
|
29
29
|
import { logMessage } from './logging';
|
|
@@ -134,13 +134,13 @@ export type ReadDataResult<Data> =
|
|
|
134
134
|
readonly kind: 'MissingData';
|
|
135
135
|
readonly reason: string;
|
|
136
136
|
readonly nestedReason?: ReadDataResult<unknown>;
|
|
137
|
-
readonly recordLink:
|
|
137
|
+
readonly recordLink: StoreLink;
|
|
138
138
|
};
|
|
139
139
|
|
|
140
140
|
function readData<TReadFromStore>(
|
|
141
141
|
environment: IsographEnvironment,
|
|
142
142
|
ast: ReaderAst<TReadFromStore>,
|
|
143
|
-
root:
|
|
143
|
+
root: StoreLink,
|
|
144
144
|
variables: Variables,
|
|
145
145
|
nestedRefetchQueries: RefetchQueryNormalizationArtifactWrapper[],
|
|
146
146
|
networkRequest: PromiseWrapper<void, any>,
|
|
@@ -281,7 +281,7 @@ function readData<TReadFromStore>(
|
|
|
281
281
|
export function readLoadablySelectedFieldData(
|
|
282
282
|
environment: IsographEnvironment,
|
|
283
283
|
field: LoadablySelectedField,
|
|
284
|
-
root:
|
|
284
|
+
root: StoreLink,
|
|
285
285
|
variables: Variables,
|
|
286
286
|
networkRequest: PromiseWrapper<void, any>,
|
|
287
287
|
networkRequestOptions: NetworkRequestReaderOptions,
|
|
@@ -534,7 +534,7 @@ function writeQueryArgsToVariables(
|
|
|
534
534
|
export function readResolverFieldData(
|
|
535
535
|
environment: IsographEnvironment,
|
|
536
536
|
field: ReaderNonLoadableResolverField,
|
|
537
|
-
root:
|
|
537
|
+
root: StoreLink,
|
|
538
538
|
variables: Variables,
|
|
539
539
|
nestedRefetchQueries: RefetchQueryNormalizationArtifactWrapper[],
|
|
540
540
|
networkRequest: PromiseWrapper<void, any>,
|
|
@@ -625,9 +625,11 @@ export function readResolverFieldData(
|
|
|
625
625
|
export function readScalarFieldData(
|
|
626
626
|
field: ReaderScalarField,
|
|
627
627
|
storeRecord: StoreRecord,
|
|
628
|
-
root:
|
|
628
|
+
root: StoreLink,
|
|
629
629
|
variables: Variables,
|
|
630
|
-
): ReadDataResult<
|
|
630
|
+
): ReadDataResult<
|
|
631
|
+
string | number | boolean | StoreLink | DataTypeValue[] | null
|
|
632
|
+
> {
|
|
631
633
|
const storeRecordName = getParentRecordKey(field, variables);
|
|
632
634
|
const value = storeRecord[storeRecordName];
|
|
633
635
|
// TODO consider making scalars into discriminated unions. This probably has
|
|
@@ -646,14 +648,14 @@ export function readLinkedFieldData(
|
|
|
646
648
|
environment: IsographEnvironment,
|
|
647
649
|
field: ReaderLinkedField,
|
|
648
650
|
storeRecord: StoreRecord,
|
|
649
|
-
root:
|
|
651
|
+
root: StoreLink,
|
|
650
652
|
variables: Variables,
|
|
651
653
|
nestedRefetchQueries: RefetchQueryNormalizationArtifactWrapper[],
|
|
652
654
|
networkRequest: PromiseWrapper<void, any>,
|
|
653
655
|
networkRequestOptions: NetworkRequestReaderOptions,
|
|
654
656
|
readData: <TReadFromStore>(
|
|
655
657
|
ast: ReaderAst<TReadFromStore>,
|
|
656
|
-
root:
|
|
658
|
+
root: StoreLink,
|
|
657
659
|
) => ReadDataResult<object>,
|
|
658
660
|
): ReadDataResult<unknown> {
|
|
659
661
|
const storeRecordName = getParentRecordKey(field, variables);
|
|
@@ -944,7 +946,7 @@ function stableStringifyArgs(args: object) {
|
|
|
944
946
|
export function readImperativelyLoadedField(
|
|
945
947
|
environment: IsographEnvironment,
|
|
946
948
|
field: ReaderImperativelyLoadedField,
|
|
947
|
-
root:
|
|
949
|
+
root: StoreLink,
|
|
948
950
|
variables: Variables,
|
|
949
951
|
nestedRefetchQueries: RefetchQueryNormalizationArtifactWrapper[],
|
|
950
952
|
networkRequest: PromiseWrapper<void, any>,
|
package/src/core/reader.ts
CHANGED
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
import {
|
|
15
15
|
ComponentOrFieldName,
|
|
16
16
|
IsographEnvironment,
|
|
17
|
-
type
|
|
17
|
+
type StoreLink,
|
|
18
18
|
} from './IsographEnvironment';
|
|
19
19
|
import { Arguments } from './util';
|
|
20
20
|
|
|
@@ -71,7 +71,7 @@ export type RefetchReaderArtifact = {
|
|
|
71
71
|
variables: any,
|
|
72
72
|
// TODO type this better
|
|
73
73
|
filteredVariables: any,
|
|
74
|
-
rootLink:
|
|
74
|
+
rootLink: StoreLink,
|
|
75
75
|
readerArtifact: TopLevelReaderArtifact<any, any, any> | null,
|
|
76
76
|
// TODO type this better
|
|
77
77
|
nestedRefetchQueries: RefetchQueryNormalizationArtifactWrapper[],
|
|
@@ -110,7 +110,7 @@ export type ReaderLinkedField = {
|
|
|
110
110
|
readonly arguments: Arguments | null;
|
|
111
111
|
readonly condition: EagerReaderArtifact<
|
|
112
112
|
{ data: any; parameters: any; startUpdate?: StartUpdate<any> },
|
|
113
|
-
|
|
113
|
+
StoreLink | null
|
|
114
114
|
> | null;
|
|
115
115
|
readonly isUpdatable: boolean;
|
|
116
116
|
/**
|
package/src/core/startUpdate.ts
CHANGED
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
import {
|
|
17
17
|
assertLink,
|
|
18
18
|
type IsographEnvironment,
|
|
19
|
-
type
|
|
19
|
+
type StoreLink,
|
|
20
20
|
} from './IsographEnvironment';
|
|
21
21
|
import { logMessage } from './logging';
|
|
22
22
|
import { readPromise, type PromiseWrapper } from './PromiseWrapper';
|
|
@@ -155,7 +155,7 @@ function defineCachedProperty<T>(
|
|
|
155
155
|
function readUpdatableData<TReadFromStore extends UnknownTReadFromStore>(
|
|
156
156
|
environment: IsographEnvironment,
|
|
157
157
|
ast: ReaderAst<TReadFromStore>,
|
|
158
|
-
root:
|
|
158
|
+
root: StoreLink,
|
|
159
159
|
variables: ExtractParameters<TReadFromStore>,
|
|
160
160
|
nestedRefetchQueries: RefetchQueryNormalizationArtifactWrapper[],
|
|
161
161
|
networkRequest: PromiseWrapper<void, any>,
|
package/src/index.ts
CHANGED
|
@@ -16,7 +16,7 @@ const readerAst: ReaderAst<{ data: any, parameters: Record<PropertyKey, never> }
|
|
|
16
16
|
|
|
17
17
|
const artifact: EagerReaderArtifact<
|
|
18
18
|
{ data: any, parameters: Record<PropertyKey, never> },
|
|
19
|
-
Link | null
|
|
19
|
+
Link<"Economist"> | null
|
|
20
20
|
> = {
|
|
21
21
|
kind: "EagerReaderArtifact",
|
|
22
22
|
fieldName: "Node.asEconomist",
|
|
@@ -15,7 +15,7 @@ A client pointer for the Economist type.
|
|
|
15
15
|
/**
|
|
16
16
|
A store Link for the Node type.
|
|
17
17
|
*/
|
|
18
|
-
readonly link: Link
|
|
18
|
+
readonly link: Link<"Economist">,
|
|
19
19
|
/**
|
|
20
20
|
A client pointer for the Economist type.
|
|
21
21
|
*/
|
|
@@ -34,12 +34,12 @@ A client pointer for the Economist type.
|
|
|
34
34
|
name: string,
|
|
35
35
|
} | null),
|
|
36
36
|
} | null),
|
|
37
|
-
set node(value: ({ link: Link } | null)),
|
|
37
|
+
set node(value: ({ link: Link<"Economist"> } | null)),
|
|
38
38
|
readonly john_stuart_mill: ({
|
|
39
39
|
/**
|
|
40
40
|
A store Link for the Node type.
|
|
41
41
|
*/
|
|
42
|
-
readonly link: Link
|
|
42
|
+
readonly link: Link<"Economist">,
|
|
43
43
|
/**
|
|
44
44
|
A client pointer for the Economist type.
|
|
45
45
|
*/
|