@isograph/react 0.0.0-main-6a3c227d → 0.0.0-main-84b67b62
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/IsographEnvironment.d.ts +9 -6
- package/dist/core/IsographEnvironment.d.ts.map +1 -1
- package/dist/core/IsographEnvironment.js +7 -1
- package/dist/core/cache.d.ts +2 -1
- package/dist/core/cache.d.ts.map +1 -1
- package/dist/core/cache.js +17 -27
- package/dist/core/check.d.ts.map +1 -1
- package/dist/core/check.js +10 -7
- package/dist/core/garbageCollection.d.ts +2 -1
- package/dist/core/garbageCollection.d.ts.map +1 -1
- package/dist/core/garbageCollection.js +21 -13
- package/dist/core/logging.d.ts +3 -2
- package/dist/core/logging.d.ts.map +1 -1
- package/dist/core/makeNetworkRequest.d.ts.map +1 -1
- package/dist/core/makeNetworkRequest.js +10 -1
- package/dist/core/optimisticProxy.d.ts +51 -0
- package/dist/core/optimisticProxy.d.ts.map +1 -0
- package/dist/core/optimisticProxy.js +372 -0
- package/dist/core/read.d.ts.map +1 -1
- package/dist/core/read.js +5 -4
- package/dist/core/startUpdate.d.ts +2 -1
- package/dist/core/startUpdate.d.ts.map +1 -1
- package/dist/core/startUpdate.js +31 -32
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/core/IsographEnvironment.ts +16 -6
- package/src/core/cache.ts +21 -14
- package/src/core/check.ts +11 -6
- package/src/core/garbageCollection.ts +27 -15
- package/src/core/logging.ts +2 -2
- package/src/core/makeNetworkRequest.ts +14 -1
- package/src/core/optimisticProxy.ts +510 -0
- package/src/core/read.ts +2 -1
- package/src/core/startUpdate.ts +44 -28
- package/src/index.ts +1 -1
- package/src/tests/garbageCollection.test.ts +2 -2
- package/src/tests/normalizeData.test.ts +5 -3
- package/src/tests/optimisticProxy.test.ts +860 -0
- package/src/tests/startUpdate.test.ts +7 -5
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
../.. | WARN Unsupported engine: wanted: {"node":"22.9.0"} (current: {"node":"v22.21.1","pnpm":"10.15.0"})
|
|
2
2
|
|
|
3
|
-
> @isograph/react@0.0.0-main-
|
|
3
|
+
> @isograph/react@0.0.0-main-84b67b62 compile-libs /home/runner/work/isograph/isograph/libs/isograph-react
|
|
4
4
|
> rimraf dist && tsc -p tsconfig.pkg.json
|
|
5
5
|
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { ParentCache } from '@isograph/react-disposable-state';
|
|
2
|
+
import type { Brand } from './brand';
|
|
2
3
|
import { IsographEntrypoint, IsographOperation, IsographPersistedOperation } from './entrypoint';
|
|
3
4
|
import { FragmentReference, Variables, type StableIdForFragmentReference, type UnknownTReadFromStore } from './FragmentReference';
|
|
4
5
|
import type { RetainedQuery } from './garbageCollection';
|
|
5
6
|
import { LogFunction, WrappedLogFunction } from './logging';
|
|
7
|
+
import { type StoreLayer } from './optimisticProxy';
|
|
6
8
|
import { PromiseWrapper } from './PromiseWrapper';
|
|
7
9
|
import { WithEncounteredRecords } from './read';
|
|
8
10
|
import type { ReaderAst, StartUpdate } from './reader';
|
|
9
|
-
import type { Brand } from './brand';
|
|
10
11
|
export type ComponentOrFieldName = string;
|
|
11
12
|
export type StringifiedArgs = string;
|
|
12
13
|
export type FieldCache<T> = {
|
|
@@ -35,7 +36,7 @@ export type CacheMap<T> = {
|
|
|
35
36
|
[index: string]: ParentCache<T>;
|
|
36
37
|
};
|
|
37
38
|
export type IsographEnvironment = {
|
|
38
|
-
|
|
39
|
+
store: StoreLayer;
|
|
39
40
|
readonly networkFunction: IsographNetworkFunction;
|
|
40
41
|
readonly missingFieldHandler: MissingFieldHandler | null;
|
|
41
42
|
readonly componentCache: FieldCache<React.FC<any>>;
|
|
@@ -68,16 +69,18 @@ export type StoreRecord = {
|
|
|
68
69
|
export type TypeName = string;
|
|
69
70
|
export type DataId = string;
|
|
70
71
|
export declare const ROOT_ID: DataId & '__ROOT';
|
|
71
|
-
export type
|
|
72
|
+
export type StoreLayerData = {
|
|
72
73
|
[index: TypeName]: {
|
|
73
74
|
[index: DataId]: StoreRecord | null;
|
|
74
75
|
} | null;
|
|
76
|
+
};
|
|
77
|
+
export interface BaseStoreLayerData extends StoreLayerData {
|
|
75
78
|
readonly Query: {
|
|
76
79
|
readonly __ROOT: StoreRecord;
|
|
77
80
|
};
|
|
78
|
-
}
|
|
79
|
-
export declare function createIsographEnvironment(
|
|
80
|
-
export declare function createIsographStore():
|
|
81
|
+
}
|
|
82
|
+
export declare function createIsographEnvironment(baseStoreLayerData: BaseStoreLayerData, networkFunction: IsographNetworkFunction, missingFieldHandler?: MissingFieldHandler | null, logFunction?: LogFunction | null): IsographEnvironment;
|
|
83
|
+
export declare function createIsographStore(): BaseStoreLayerData;
|
|
81
84
|
export declare function assertLink(link: DataTypeValue): StoreLink | null | undefined;
|
|
82
85
|
export declare function getLink(maybeLink: DataTypeValue): StoreLink | null;
|
|
83
86
|
export declare function getOrLoadIsographArtifact(environment: IsographEnvironment, key: string, loader: () => Promise<IsographEntrypoint<any, any, any>>): PromiseWrapper<IsographEntrypoint<any, any, any>>;
|
|
@@ -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,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,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":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,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,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,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;AAEvD,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC;AAC1C,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC;AAErC,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAC1B,CAAC,GAAG,EAAE,4BAA4B,GAAG,CAAC,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,cAAc,SAAS,qBAAqB,IAC3E;IACE,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,CACjB,4BAA4B,EAAE,sBAAsB,CAAC,cAAc,CAAC,KACjE,IAAI,CAAC;IACV,wEAAwE;IACxE,yBAAyB,EAAE,sBAAsB,CAAC,cAAc,CAAC,CAAC;IAClE,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IACnE,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;CAC/C,CAAC;AAEJ,MAAM,MAAM,8BAA8B,GAAG;IAC3C,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,YAAY,GACpB,oBAAoB,CAAC,GAAG,CAAC,GACzB,8BAA8B,GAC9B,qBAAqB,CAAC;AAC1B,MAAM,MAAM,aAAa,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC;AAE9C,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC;AAE9D,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,CAAC,eAAe,EAAE,uBAAuB,CAAC;IAClD,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACzD,QAAQ,CAAC,cAAc,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACnD,QAAQ,CAAC,gBAAgB,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;IACpE,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAGtC,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAE9D,QAAQ,CAAC,uBAAuB,EAAE,GAAG,CACnC,MAAM,EACN,cAAc,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAClD,CAAC;IACF,QAAQ,CAAC,eAAe,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC;IAC7C,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IACxC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,CAChC,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,SAAS,EACf,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GAAG,IAAI,EAC3C,SAAS,EAAE,SAAS,GAAG,IAAI,KACxB,SAAS,GAAG,SAAS,CAAC;AAE3B,MAAM,MAAM,uBAAuB,GAAG,CACpC,SAAS,EAAE,iBAAiB,GAAG,0BAA0B,EACzD,SAAS,EAAE,SAAS,KACjB,OAAO,CAAC,GAAG,CAAC,CAAC;AAElB,MAAM,WAAW,IAAI,CAAC,CAAC,SAAS,QAAQ,CAAE,SAAQ,SAAS;IACzD,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;CACxB;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,aAAa,GAGrB,SAAS,GAET,MAAM,GACN,OAAO,GACP,MAAM,GACN,IAAI,GAEJ,SAAS,GAET,aAAa,EAAE,CAAC;AAEpB,MAAM,MAAM,WAAW,GAAG;IACxB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,aAAa,CAAC;IAGxC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAC9B,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC;AAE5B,eAAO,MAAM,OAAO,EAAE,MAAM,GAAG,QAAmB,CAAC;AAEnD,MAAM,MAAM,cAAc,GAAG;IAC3B,CAAC,KAAK,EAAE,QAAQ,GAAG;QACjB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAAC;KACrC,GAAG,IAAI,CAAC;CACV,CAAC;AAEF,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;KAC9B,CAAC;CACH;AAGD,wBAAgB,yBAAyB,CACvC,kBAAkB,EAAE,kBAAkB,EACtC,eAAe,EAAE,uBAAuB,EACxC,mBAAmB,CAAC,EAAE,mBAAmB,GAAG,IAAI,EAChD,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,GAC/B,mBAAmB,CAwBrB;AAED,wBAAgB,mBAAmB,IAAI,kBAAkB,CAMxD;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI,GAAG,SAAS,CAW5E;AAED,wBAAgB,OAAO,CAAC,SAAS,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI,CAYlE;AAED,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,mBAAmB,EAChC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GACvD,cAAc,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAQnD"}
|
|
@@ -9,10 +9,16 @@ exports.getOrLoadIsographArtifact = getOrLoadIsographArtifact;
|
|
|
9
9
|
const PromiseWrapper_1 = require("./PromiseWrapper");
|
|
10
10
|
exports.ROOT_ID = '__ROOT';
|
|
11
11
|
const DEFAULT_GC_BUFFER_SIZE = 10;
|
|
12
|
-
function createIsographEnvironment(
|
|
12
|
+
function createIsographEnvironment(baseStoreLayerData, networkFunction, missingFieldHandler, logFunction) {
|
|
13
13
|
logFunction === null || logFunction === void 0 ? void 0 : logFunction({
|
|
14
14
|
kind: 'EnvironmentCreated',
|
|
15
15
|
});
|
|
16
|
+
let store = {
|
|
17
|
+
kind: 'BaseStoreLayer',
|
|
18
|
+
data: baseStoreLayerData,
|
|
19
|
+
parentStoreLayer: null,
|
|
20
|
+
childStoreLayer: null,
|
|
21
|
+
};
|
|
16
22
|
return {
|
|
17
23
|
store,
|
|
18
24
|
networkFunction,
|
package/dist/core/cache.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { IsographEntrypoint, NormalizationLinkedField, NormalizationScalarField,
|
|
|
3
3
|
import { FetchOptions } from './check';
|
|
4
4
|
import { ExtractParameters, FragmentReference, Variables, type UnknownTReadFromStore } from './FragmentReference';
|
|
5
5
|
import { DataId, StoreLink, type IsographEnvironment, type TypeName } from './IsographEnvironment';
|
|
6
|
+
import { type StoreLayerWithData } from './optimisticProxy';
|
|
6
7
|
import { WithEncounteredRecords } from './read';
|
|
7
8
|
import { ReaderLinkedField, ReaderScalarField, type ReaderAst } from './reader';
|
|
8
9
|
export declare const TYPENAME_FIELD_NAME = "__typename";
|
|
@@ -21,7 +22,7 @@ export type NetworkResponseObject = {
|
|
|
21
22
|
id?: DataId;
|
|
22
23
|
__typename?: TypeName;
|
|
23
24
|
};
|
|
24
|
-
export declare function normalizeData(environment: IsographEnvironment, normalizationAst: NormalizationAstNodes, networkResponse: NetworkResponseObject, variables: Variables, root: StoreLink): EncounteredIds;
|
|
25
|
+
export declare function normalizeData(environment: IsographEnvironment, storeLayer: StoreLayerWithData, normalizationAst: NormalizationAstNodes, networkResponse: NetworkResponseObject, variables: Variables, root: StoreLink, encounteredIds: EncounteredIds): EncounteredIds;
|
|
25
26
|
export declare function subscribeToAnyChange(environment: IsographEnvironment, callback: () => void): () => void;
|
|
26
27
|
export declare function subscribeToAnyChangesToRecord(environment: IsographEnvironment, recordLink: StoreLink, callback: () => void): () => void;
|
|
27
28
|
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;
|
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,EAKN,SAAS,EAET,KAAK,mBAAmB,EACxB,KAAK,QAAQ,EACd,MAAM,uBAAuB,CAAC;
|
|
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
|
@@ -17,6 +17,7 @@ const areEqualWithDeepComparison_1 = require("./areEqualWithDeepComparison");
|
|
|
17
17
|
const IsographEnvironment_1 = require("./IsographEnvironment");
|
|
18
18
|
const logging_1 = require("./logging");
|
|
19
19
|
const makeNetworkRequest_1 = require("./makeNetworkRequest");
|
|
20
|
+
const optimisticProxy_1 = require("./optimisticProxy");
|
|
20
21
|
const PromiseWrapper_1 = require("./PromiseWrapper");
|
|
21
22
|
const read_1 = require("./read");
|
|
22
23
|
exports.TYPENAME_FIELD_NAME = '__typename';
|
|
@@ -81,25 +82,15 @@ function getOrCreateCacheForArtifact(environment, entrypoint, variables, fetchOp
|
|
|
81
82
|
};
|
|
82
83
|
return getOrCreateItemInSuspenseCache(environment, cacheKey, factory);
|
|
83
84
|
}
|
|
84
|
-
function normalizeData(environment, normalizationAst, networkResponse, variables, root) {
|
|
85
|
-
var _a, _b;
|
|
86
|
-
var _c, _d, _e;
|
|
87
|
-
const encounteredIds = new Map();
|
|
85
|
+
function normalizeData(environment, storeLayer, normalizationAst, networkResponse, variables, root, encounteredIds) {
|
|
88
86
|
(0, logging_1.logMessage)(environment, () => ({
|
|
89
87
|
kind: 'AboutToNormalize',
|
|
90
88
|
normalizationAst,
|
|
91
89
|
networkResponse,
|
|
92
90
|
variables,
|
|
93
91
|
}));
|
|
94
|
-
const
|
|
95
|
-
|
|
96
|
-
normalizeDataIntoRecord(environment, normalizationAst, networkResponse, newStoreRecord, root, variables, encounteredIds);
|
|
97
|
-
(0, logging_1.logMessage)(environment, () => ({
|
|
98
|
-
kind: 'AfterNormalization',
|
|
99
|
-
store: environment.store,
|
|
100
|
-
encounteredIds,
|
|
101
|
-
}));
|
|
102
|
-
callSubscriptions(environment, encounteredIds);
|
|
92
|
+
const newStoreRecord = (0, optimisticProxy_1.getMutableStoreRecordProxy)(storeLayer, root);
|
|
93
|
+
normalizeDataIntoRecord(environment, storeLayer, normalizationAst, networkResponse, newStoreRecord, root, variables, encounteredIds);
|
|
103
94
|
return encounteredIds;
|
|
104
95
|
}
|
|
105
96
|
function subscribeToAnyChange(environment, callback) {
|
|
@@ -250,7 +241,7 @@ function isNotDisjointFrom(set1, set2) {
|
|
|
250
241
|
/**
|
|
251
242
|
* Mutate targetParentRecord according to the normalizationAst and networkResponseParentRecord.
|
|
252
243
|
*/
|
|
253
|
-
function normalizeDataIntoRecord(environment, normalizationAst, networkResponseParentRecord, targetParentRecord, targetParentRecordLink, variables, mutableEncounteredIds) {
|
|
244
|
+
function normalizeDataIntoRecord(environment, storeLayer, normalizationAst, networkResponseParentRecord, targetParentRecord, targetParentRecordLink, variables, mutableEncounteredIds) {
|
|
254
245
|
let recordHasBeenUpdated = false;
|
|
255
246
|
for (const normalizationNode of normalizationAst) {
|
|
256
247
|
switch (normalizationNode.kind) {
|
|
@@ -261,13 +252,13 @@ function normalizeDataIntoRecord(environment, normalizationAst, networkResponseP
|
|
|
261
252
|
break;
|
|
262
253
|
}
|
|
263
254
|
case 'Linked': {
|
|
264
|
-
const linkedFieldResultedInChange = normalizeLinkedField(environment, normalizationNode, networkResponseParentRecord, targetParentRecord, targetParentRecordLink, variables, mutableEncounteredIds);
|
|
255
|
+
const linkedFieldResultedInChange = normalizeLinkedField(environment, storeLayer, normalizationNode, networkResponseParentRecord, targetParentRecord, targetParentRecordLink, variables, mutableEncounteredIds);
|
|
265
256
|
recordHasBeenUpdated =
|
|
266
257
|
recordHasBeenUpdated || linkedFieldResultedInChange;
|
|
267
258
|
break;
|
|
268
259
|
}
|
|
269
260
|
case 'InlineFragment': {
|
|
270
|
-
const inlineFragmentResultedInChange = normalizeInlineFragment(environment, normalizationNode, networkResponseParentRecord, targetParentRecord, targetParentRecordLink, variables, mutableEncounteredIds);
|
|
261
|
+
const inlineFragmentResultedInChange = normalizeInlineFragment(environment, storeLayer, normalizationNode, networkResponseParentRecord, targetParentRecord, targetParentRecordLink, variables, mutableEncounteredIds);
|
|
271
262
|
recordHasBeenUpdated =
|
|
272
263
|
recordHasBeenUpdated || inlineFragmentResultedInChange;
|
|
273
264
|
break;
|
|
@@ -311,7 +302,7 @@ function normalizeScalarField(astNode, networkResponseParentRecord, targetStoreR
|
|
|
311
302
|
/**
|
|
312
303
|
* Mutate targetParentRecord with a given linked field ast node.
|
|
313
304
|
*/
|
|
314
|
-
function normalizeLinkedField(environment, astNode, networkResponseParentRecord, targetParentRecord, targetParentRecordLink, variables, mutableEncounteredIds) {
|
|
305
|
+
function normalizeLinkedField(environment, storeLayer, astNode, networkResponseParentRecord, targetParentRecord, targetParentRecordLink, variables, mutableEncounteredIds) {
|
|
315
306
|
var _a, _b;
|
|
316
307
|
const networkResponseKey = getNetworkResponseKey(astNode);
|
|
317
308
|
const networkResponseData = networkResponseParentRecord[networkResponseKey];
|
|
@@ -334,7 +325,7 @@ function normalizeLinkedField(environment, astNode, networkResponseParentRecord,
|
|
|
334
325
|
dataIds.push(null);
|
|
335
326
|
continue;
|
|
336
327
|
}
|
|
337
|
-
const newStoreRecordId = normalizeNetworkResponseObject(environment, astNode, networkResponseObject, targetParentRecordLink, variables, i, mutableEncounteredIds);
|
|
328
|
+
const newStoreRecordId = normalizeNetworkResponseObject(environment, storeLayer, astNode, networkResponseObject, targetParentRecordLink, variables, i, mutableEncounteredIds);
|
|
338
329
|
const __typename = (_a = astNode.concreteType) !== null && _a !== void 0 ? _a : networkResponseObject[exports.TYPENAME_FIELD_NAME];
|
|
339
330
|
if (__typename == null) {
|
|
340
331
|
throw new Error('Unexpected missing __typename in network response when normalizing a linked field. ' +
|
|
@@ -349,7 +340,7 @@ function normalizeLinkedField(environment, astNode, networkResponseParentRecord,
|
|
|
349
340
|
return !dataIdsAreTheSame(existingValue, dataIds);
|
|
350
341
|
}
|
|
351
342
|
else {
|
|
352
|
-
const newStoreRecordId = normalizeNetworkResponseObject(environment, astNode, networkResponseData, targetParentRecordLink, variables, null, mutableEncounteredIds);
|
|
343
|
+
const newStoreRecordId = normalizeNetworkResponseObject(environment, storeLayer, astNode, networkResponseData, targetParentRecordLink, variables, null, mutableEncounteredIds);
|
|
353
344
|
let __typename = (_b = astNode.concreteType) !== null && _b !== void 0 ? _b : networkResponseData[exports.TYPENAME_FIELD_NAME];
|
|
354
345
|
if (__typename == null) {
|
|
355
346
|
throw new Error('Unexpected missing __typename in network response when normalizing a linked field. ' +
|
|
@@ -366,10 +357,10 @@ function normalizeLinkedField(environment, astNode, networkResponseParentRecord,
|
|
|
366
357
|
/**
|
|
367
358
|
* Mutate targetParentRecord with a given linked field ast node.
|
|
368
359
|
*/
|
|
369
|
-
function normalizeInlineFragment(environment, astNode, networkResponseParentRecord, targetParentRecord, targetParentRecordLink, variables, mutableEncounteredIds) {
|
|
360
|
+
function normalizeInlineFragment(environment, storeLayer, astNode, networkResponseParentRecord, targetParentRecord, targetParentRecordLink, variables, mutableEncounteredIds) {
|
|
370
361
|
const typeToRefineTo = astNode.type;
|
|
371
362
|
if (networkResponseParentRecord[exports.TYPENAME_FIELD_NAME] === typeToRefineTo) {
|
|
372
|
-
const hasBeenModified = normalizeDataIntoRecord(environment, astNode.selections, networkResponseParentRecord, targetParentRecord, targetParentRecordLink, variables, mutableEncounteredIds);
|
|
363
|
+
const hasBeenModified = normalizeDataIntoRecord(environment, storeLayer, astNode.selections, networkResponseParentRecord, targetParentRecord, targetParentRecordLink, variables, mutableEncounteredIds);
|
|
373
364
|
return hasBeenModified;
|
|
374
365
|
}
|
|
375
366
|
return false;
|
|
@@ -393,18 +384,17 @@ function dataIdsAreTheSame(existingValue, newDataIds) {
|
|
|
393
384
|
return false;
|
|
394
385
|
}
|
|
395
386
|
}
|
|
396
|
-
function normalizeNetworkResponseObject(environment, astNode, networkResponseData, targetParentRecordLink, variables, index, mutableEncounteredIds) {
|
|
397
|
-
var _a
|
|
398
|
-
var _d;
|
|
387
|
+
function normalizeNetworkResponseObject(environment, storeLayer, astNode, networkResponseData, targetParentRecordLink, variables, index, mutableEncounteredIds) {
|
|
388
|
+
var _a;
|
|
399
389
|
const newStoreRecordId = getDataIdOfNetworkResponse(targetParentRecordLink, networkResponseData, astNode, variables, index);
|
|
400
390
|
const __typename = (_a = astNode.concreteType) !== null && _a !== void 0 ? _a : networkResponseData[exports.TYPENAME_FIELD_NAME];
|
|
401
391
|
if (__typename == null) {
|
|
402
392
|
throw new Error('Unexpected missing __typename in network response object. ' +
|
|
403
393
|
'This is indicative of a bug in Isograph.');
|
|
404
394
|
}
|
|
405
|
-
const
|
|
406
|
-
const newStoreRecord = (
|
|
407
|
-
normalizeDataIntoRecord(environment, astNode.selections, networkResponseData, newStoreRecord,
|
|
395
|
+
const link = { __link: newStoreRecordId, __typename };
|
|
396
|
+
const newStoreRecord = (0, optimisticProxy_1.getMutableStoreRecordProxy)(storeLayer, link);
|
|
397
|
+
normalizeDataIntoRecord(environment, storeLayer, astNode.selections, networkResponseData, newStoreRecord, link, variables, mutableEncounteredIds);
|
|
408
398
|
return newStoreRecordId;
|
|
409
399
|
}
|
|
410
400
|
function isScalarOrEmptyArray(data) {
|
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,SAAS,EAEV,MAAM,uBAAuB,CAAC;
|
|
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;AAI/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,CAsBb"}
|
package/dist/core/check.js
CHANGED
|
@@ -5,12 +5,16 @@ exports.check = check;
|
|
|
5
5
|
const cache_1 = require("./cache");
|
|
6
6
|
const IsographEnvironment_1 = require("./IsographEnvironment");
|
|
7
7
|
const logging_1 = require("./logging");
|
|
8
|
+
const optimisticProxy_1 = require("./optimisticProxy");
|
|
8
9
|
exports.DEFAULT_SHOULD_FETCH_VALUE = 'IfNecessary';
|
|
9
10
|
function check(environment, normalizationAst, variables, root) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
const newStoreRecord = (0, optimisticProxy_1.getStoreRecordProxy)(environment.store, root);
|
|
12
|
+
if (newStoreRecord == null) {
|
|
13
|
+
return {
|
|
14
|
+
kind: 'MissingData',
|
|
15
|
+
record: root,
|
|
16
|
+
};
|
|
17
|
+
}
|
|
14
18
|
const checkResult = checkFromRecord(environment, normalizationAst, variables, newStoreRecord, root);
|
|
15
19
|
(0, logging_1.logMessage)(environment, () => ({
|
|
16
20
|
kind: 'EnvironmentCheck',
|
|
@@ -19,7 +23,6 @@ function check(environment, normalizationAst, variables, root) {
|
|
|
19
23
|
return checkResult;
|
|
20
24
|
}
|
|
21
25
|
function checkFromRecord(environment, normalizationAst, variables, record, recordLink) {
|
|
22
|
-
var _a, _b;
|
|
23
26
|
normalizationAstLoop: for (const normalizationAstNode of normalizationAst) {
|
|
24
27
|
switch (normalizationAstNode.kind) {
|
|
25
28
|
case 'Scalar': {
|
|
@@ -54,7 +57,7 @@ function checkFromRecord(environment, normalizationAst, variables, record, recor
|
|
|
54
57
|
throw new Error('Unexpected non-link in the Isograph store. ' +
|
|
55
58
|
'This is indicative of a bug in Isograph.');
|
|
56
59
|
}
|
|
57
|
-
const linkedRecord = (
|
|
60
|
+
const linkedRecord = (0, optimisticProxy_1.getStoreRecordProxy)(environment.store, link);
|
|
58
61
|
if (linkedRecord === undefined) {
|
|
59
62
|
return {
|
|
60
63
|
kind: 'MissingData',
|
|
@@ -79,7 +82,7 @@ function checkFromRecord(environment, normalizationAst, variables, record, recor
|
|
|
79
82
|
throw new Error('Unexpected non-link in the Isograph store. ' +
|
|
80
83
|
'This is indicative of a bug in Isograph.');
|
|
81
84
|
}
|
|
82
|
-
const linkedRecord = (
|
|
85
|
+
const linkedRecord = (0, optimisticProxy_1.getStoreRecordProxy)(environment.store, link);
|
|
83
86
|
if (linkedRecord === undefined) {
|
|
84
87
|
return {
|
|
85
88
|
kind: 'MissingData',
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type NormalizationAst } from './entrypoint';
|
|
2
|
-
import { IsographEnvironment, type StoreLink } from './IsographEnvironment';
|
|
2
|
+
import { IsographEnvironment, type StoreLayerData, type StoreLink } from './IsographEnvironment';
|
|
3
3
|
import { type PromiseWrapper, type PromiseWrapperOk } from './PromiseWrapper';
|
|
4
4
|
export type RetainedQuery = {
|
|
5
5
|
readonly normalizationAst: PromiseWrapper<NormalizationAst>;
|
|
@@ -13,4 +13,5 @@ export type DidUnretainSomeQuery = boolean;
|
|
|
13
13
|
export declare function unretainQuery(environment: IsographEnvironment, retainedQuery: RetainedQuery): DidUnretainSomeQuery;
|
|
14
14
|
export declare function retainQuery(environment: IsographEnvironment, queryToRetain: RetainedQuery): void;
|
|
15
15
|
export declare function garbageCollectEnvironment(environment: IsographEnvironment): void;
|
|
16
|
+
export declare function garbageCollectLayer(retainedQueries: RetainedQueryWithNormalizationAst[], dataLayer: StoreLayerData): void;
|
|
16
17
|
//# sourceMappingURL=garbageCollection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"garbageCollection.d.ts","sourceRoot":"","sources":["../../src/core/garbageCollection.ts"],"names":[],"mappings":"AACA,OAAO,EAAyB,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAE5E,OAAO,EAGL,mBAAmB,
|
|
1
|
+
{"version":3,"file":"garbageCollection.d.ts","sourceRoot":"","sources":["../../src/core/garbageCollection.ts"],"names":[],"mappings":"AACA,OAAO,EAAyB,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAE5E,OAAO,EAGL,mBAAmB,EAEnB,KAAK,cAAc,EACnB,KAAK,SAAS,EAEf,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACtB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,gBAAgB,EAAE,cAAc,CAAC,gBAAgB,CAAC,CAAC;IAC5D,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;CAC1B,CAAC;AAEF,MAAM,WAAW,iCAAkC,SAAQ,aAAa;IACtE,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;CAC/D;AAWD,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,QAqBzE;AAED,wBAAgB,mBAAmB,CACjC,eAAe,EAAE,iCAAiC,EAAE,EACpD,SAAS,EAAE,cAAc,QA6B1B"}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.unretainQuery = unretainQuery;
|
|
4
4
|
exports.retainQuery = retainQuery;
|
|
5
5
|
exports.garbageCollectEnvironment = garbageCollectEnvironment;
|
|
6
|
+
exports.garbageCollectLayer = garbageCollectLayer;
|
|
6
7
|
const cache_1 = require("./cache");
|
|
7
8
|
const IsographEnvironment_1 = require("./IsographEnvironment");
|
|
8
9
|
const PromiseWrapper_1 = require("./PromiseWrapper");
|
|
@@ -26,7 +27,6 @@ function retainQuery(environment, queryToRetain) {
|
|
|
26
27
|
// id + variables
|
|
27
28
|
}
|
|
28
29
|
function garbageCollectEnvironment(environment) {
|
|
29
|
-
const retainedIds = {};
|
|
30
30
|
const retainedQueries = [];
|
|
31
31
|
for (const query of environment.retainedQueries) {
|
|
32
32
|
if (!isRetainedQueryWithNormalizationAst(query)) {
|
|
@@ -40,17 +40,25 @@ function garbageCollectEnvironment(environment) {
|
|
|
40
40
|
}
|
|
41
41
|
retainedQueries.push(query);
|
|
42
42
|
}
|
|
43
|
+
let node = environment.store;
|
|
44
|
+
while (node !== null) {
|
|
45
|
+
garbageCollectLayer(retainedQueries, node.data);
|
|
46
|
+
node = node.parentStoreLayer;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
function garbageCollectLayer(retainedQueries, dataLayer) {
|
|
50
|
+
const retainedIds = {};
|
|
43
51
|
for (const query of retainedQueries) {
|
|
44
|
-
recordReachableIds(
|
|
52
|
+
recordReachableIds(dataLayer, query, retainedIds);
|
|
45
53
|
}
|
|
46
|
-
for (const typeName in
|
|
47
|
-
const dataById =
|
|
54
|
+
for (const typeName in dataLayer) {
|
|
55
|
+
const dataById = dataLayer[typeName];
|
|
48
56
|
if (dataById == null)
|
|
49
57
|
continue;
|
|
50
58
|
const retainedTypeIds = retainedIds[typeName];
|
|
51
59
|
// delete all objects
|
|
52
60
|
if (retainedTypeIds == undefined || retainedTypeIds.size == 0) {
|
|
53
|
-
delete
|
|
61
|
+
delete dataLayer[typeName];
|
|
54
62
|
continue;
|
|
55
63
|
}
|
|
56
64
|
for (const dataId in dataById) {
|
|
@@ -59,21 +67,21 @@ function garbageCollectEnvironment(environment) {
|
|
|
59
67
|
}
|
|
60
68
|
}
|
|
61
69
|
if (Object.keys(dataById).length === 0) {
|
|
62
|
-
delete
|
|
70
|
+
delete dataLayer[typeName];
|
|
63
71
|
}
|
|
64
72
|
}
|
|
65
73
|
}
|
|
66
|
-
function recordReachableIds(
|
|
74
|
+
function recordReachableIds(dataLayer, retainedQuery, mutableRetainedIds) {
|
|
67
75
|
var _a, _b;
|
|
68
76
|
var _c;
|
|
69
|
-
const record = (_a =
|
|
77
|
+
const record = (_a = dataLayer[retainedQuery.root.__typename]) === null || _a === void 0 ? void 0 : _a[retainedQuery.root.__link];
|
|
70
78
|
const retainedRecordsIds = ((_b = mutableRetainedIds[_c = retainedQuery.root.__typename]) !== null && _b !== void 0 ? _b : (mutableRetainedIds[_c] = new Set()));
|
|
71
79
|
retainedRecordsIds.add(retainedQuery.root.__link);
|
|
72
80
|
if (record) {
|
|
73
|
-
recordReachableIdsFromRecord(
|
|
81
|
+
recordReachableIdsFromRecord(dataLayer, record, mutableRetainedIds, retainedQuery.normalizationAst.result.value.selections, retainedQuery.variables);
|
|
74
82
|
}
|
|
75
83
|
}
|
|
76
|
-
function recordReachableIdsFromRecord(
|
|
84
|
+
function recordReachableIdsFromRecord(dataLayer, currentRecord, mutableRetainedIds, selections, variables) {
|
|
77
85
|
var _a;
|
|
78
86
|
for (const selection of selections) {
|
|
79
87
|
switch (selection.kind) {
|
|
@@ -96,14 +104,14 @@ function recordReachableIdsFromRecord(store, currentRecord, mutableRetainedIds,
|
|
|
96
104
|
}
|
|
97
105
|
}
|
|
98
106
|
let typeStore = selection.concreteType !== null
|
|
99
|
-
?
|
|
107
|
+
? dataLayer[selection.concreteType]
|
|
100
108
|
: null;
|
|
101
109
|
if (typeStore == null && selection.concreteType !== null) {
|
|
102
110
|
continue;
|
|
103
111
|
}
|
|
104
112
|
for (const nextRecordLink of links) {
|
|
105
113
|
let __typename = nextRecordLink.__typename;
|
|
106
|
-
const resolvedTypeStore = typeStore !== null && typeStore !== void 0 ? typeStore :
|
|
114
|
+
const resolvedTypeStore = typeStore !== null && typeStore !== void 0 ? typeStore : dataLayer[__typename];
|
|
107
115
|
if (resolvedTypeStore == null) {
|
|
108
116
|
continue;
|
|
109
117
|
}
|
|
@@ -111,7 +119,7 @@ function recordReachableIdsFromRecord(store, currentRecord, mutableRetainedIds,
|
|
|
111
119
|
if (nextRecord != null) {
|
|
112
120
|
const retainedRecordsIds = ((_a = mutableRetainedIds[__typename]) !== null && _a !== void 0 ? _a : (mutableRetainedIds[__typename] = new Set()));
|
|
113
121
|
retainedRecordsIds.add(nextRecordLink.__link);
|
|
114
|
-
recordReachableIdsFromRecord(
|
|
122
|
+
recordReachableIdsFromRecord(dataLayer, nextRecord, mutableRetainedIds, selection.selections, variables);
|
|
115
123
|
}
|
|
116
124
|
}
|
|
117
125
|
continue;
|
package/dist/core/logging.d.ts
CHANGED
|
@@ -3,9 +3,10 @@ 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,
|
|
6
|
+
import { IsographEnvironment, StoreRecord, type StoreLink } from './IsographEnvironment';
|
|
7
7
|
import { ReadDataResult } from './read';
|
|
8
8
|
import { Arguments } from './util';
|
|
9
|
+
import type { StoreLayer } from './optimisticProxy';
|
|
9
10
|
export type LogMessage = {
|
|
10
11
|
kind: 'AboutToNormalize';
|
|
11
12
|
normalizationAst: NormalizationAstNodes;
|
|
@@ -13,7 +14,7 @@ export type LogMessage = {
|
|
|
13
14
|
variables: Variables;
|
|
14
15
|
} | {
|
|
15
16
|
kind: 'AfterNormalization';
|
|
16
|
-
store:
|
|
17
|
+
store: StoreLayer;
|
|
17
18
|
encounteredIds: EncounteredIds;
|
|
18
19
|
} | {
|
|
19
20
|
kind: 'DeepEqualityCheck';
|
|
@@ -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,
|
|
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,EAAsB,MAAM,uBAAuB,CAAC;
|
|
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;AAGhF,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,CAsDjD;AAqCD,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,CAiHjD"}
|
|
@@ -8,6 +8,7 @@ const componentCache_1 = require("./componentCache");
|
|
|
8
8
|
const garbageCollection_1 = require("./garbageCollection");
|
|
9
9
|
const IsographEnvironment_1 = require("./IsographEnvironment");
|
|
10
10
|
const logging_1 = require("./logging");
|
|
11
|
+
const optimisticProxy_1 = require("./optimisticProxy");
|
|
11
12
|
const PromiseWrapper_1 = require("./PromiseWrapper");
|
|
12
13
|
const read_1 = require("./read");
|
|
13
14
|
const startUpdate_1 = require("./startUpdate");
|
|
@@ -94,7 +95,15 @@ function makeNetworkRequest(environment, artifact, variables, readerWithRefetchQ
|
|
|
94
95
|
}
|
|
95
96
|
const root = { __link: IsographEnvironment_1.ROOT_ID, __typename: artifact.concreteType };
|
|
96
97
|
if (status.kind === 'Undisposed') {
|
|
97
|
-
|
|
98
|
+
const encounteredIds = new Map();
|
|
99
|
+
environment.store = (0, optimisticProxy_1.addNetworkResponseStoreLayer)(environment.store);
|
|
100
|
+
(0, cache_1.normalizeData)(environment, environment.store, normalizationAst.selections, (_b = networkResponse.data) !== null && _b !== void 0 ? _b : {}, variables, root, encounteredIds);
|
|
101
|
+
(0, logging_1.logMessage)(environment, () => ({
|
|
102
|
+
kind: 'AfterNormalization',
|
|
103
|
+
store: environment.store,
|
|
104
|
+
encounteredIds: encounteredIds,
|
|
105
|
+
}));
|
|
106
|
+
(0, cache_1.callSubscriptions)(environment, encounteredIds);
|
|
98
107
|
}
|
|
99
108
|
const onComplete = fetchOptions === null || fetchOptions === void 0 ? void 0 : fetchOptions.onComplete;
|
|
100
109
|
if (onComplete != null) {
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { BaseStoreLayerData, IsographEnvironment, StoreLayerData, StoreLink, StoreRecord } from './IsographEnvironment';
|
|
2
|
+
export declare function getOrInsertRecord(dataLayer: StoreLayerData, link: StoreLink): StoreRecord;
|
|
3
|
+
/**
|
|
4
|
+
* Given the child-most store layer (i.e. environment.store) and a link (identifying a
|
|
5
|
+
* store record), create a proxy object that attempts to read through each successive
|
|
6
|
+
* store layer until a value (i.e. field name) is found. If found, return that value.
|
|
7
|
+
*/
|
|
8
|
+
export declare function getStoreRecordProxy(storeLayer: StoreLayer, link: StoreLink): Readonly<StoreRecord> | null | undefined;
|
|
9
|
+
export declare function getMutableStoreRecordProxy(childMostStoreLayer: StoreLayer, link: StoreLink): StoreRecord;
|
|
10
|
+
export type BaseStoreLayer = {
|
|
11
|
+
readonly kind: 'BaseStoreLayer';
|
|
12
|
+
childStoreLayer: OptimisticStoreLayer | null;
|
|
13
|
+
readonly parentStoreLayer: null;
|
|
14
|
+
readonly data: BaseStoreLayerData;
|
|
15
|
+
};
|
|
16
|
+
export type NetworkResponseStoreLayer = {
|
|
17
|
+
readonly kind: 'NetworkResponseStoreLayer';
|
|
18
|
+
childStoreLayer: OptimisticStoreLayer | StartUpdateStoreLayer | null;
|
|
19
|
+
parentStoreLayer: OptimisticStoreLayer | StartUpdateStoreLayer;
|
|
20
|
+
readonly data: StoreLayerData;
|
|
21
|
+
};
|
|
22
|
+
export type DataUpdate<TStoreLayer extends StoreLayer> = (storeLayer: TStoreLayer) => void;
|
|
23
|
+
export type StartUpdateStoreLayer = {
|
|
24
|
+
readonly kind: 'StartUpdateStoreLayer';
|
|
25
|
+
childStoreLayer: OptimisticStoreLayer | NetworkResponseStoreLayer | null;
|
|
26
|
+
parentStoreLayer: OptimisticStoreLayer | NetworkResponseStoreLayer;
|
|
27
|
+
data: StoreLayerData;
|
|
28
|
+
startUpdate: DataUpdate<StartUpdateStoreLayer | BaseStoreLayer>;
|
|
29
|
+
};
|
|
30
|
+
export type OptimisticStoreLayer = {
|
|
31
|
+
readonly kind: 'OptimisticStoreLayer';
|
|
32
|
+
childStoreLayer: OptimisticStoreLayer | StartUpdateStoreLayer | NetworkResponseStoreLayer | null;
|
|
33
|
+
parentStoreLayer: OptimisticStoreLayer | StartUpdateStoreLayer | NetworkResponseStoreLayer | BaseStoreLayer;
|
|
34
|
+
data: StoreLayerData;
|
|
35
|
+
readonly startUpdate: DataUpdate<OptimisticStoreLayer>;
|
|
36
|
+
};
|
|
37
|
+
export declare function addNetworkResponseStoreLayer(parent: StoreLayer): StoreLayerWithData;
|
|
38
|
+
export declare function addStartUpdateStoreLayer(parent: StoreLayer, startUpdate: StartUpdateStoreLayer['startUpdate']): StoreLayer;
|
|
39
|
+
export declare function addOptimisticStoreLayer(parent: StoreLayer, startUpdate: OptimisticStoreLayer['startUpdate']): OptimisticStoreLayer;
|
|
40
|
+
/**
|
|
41
|
+
* Remove an optimistic store layer from the stack, potentially replacing it
|
|
42
|
+
* with a network response.
|
|
43
|
+
*
|
|
44
|
+
* After we do this, we must re-execute all child startUpdate and optimistic
|
|
45
|
+
* layers (since their data may have changed.) We also keep track of changed
|
|
46
|
+
* records, in order to call affected subscriptions.
|
|
47
|
+
*/
|
|
48
|
+
export declare function revertOptimisticStoreLayerAndMaybeReplace(environment: IsographEnvironment, optimisticNode: OptimisticStoreLayer, normalizeData: null | ((storeLayer: StoreLayerWithData) => void)): void;
|
|
49
|
+
export type StoreLayer = OptimisticStoreLayer | NetworkResponseStoreLayer | StartUpdateStoreLayer | BaseStoreLayer;
|
|
50
|
+
export type StoreLayerWithData = BaseStoreLayer | NetworkResponseStoreLayer;
|
|
51
|
+
//# sourceMappingURL=optimisticProxy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"optimisticProxy.d.ts","sourceRoot":"","sources":["../../src/core/optimisticProxy.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,SAAS,EACT,WAAW,EACZ,MAAM,uBAAuB,CAAC;AAE/B,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,cAAc,EACzB,IAAI,EAAE,SAAS,GACd,WAAW,CAGb;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,SAAS,GACd,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,GAAG,SAAS,CAc1C;AAED,wBAAgB,0BAA0B,CACxC,mBAAmB,EAAE,UAAU,EAC/B,IAAI,EAAE,SAAS,GACd,WAAW,CAgDb;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,eAAe,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC7C,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,CAAC,IAAI,EAAE,2BAA2B,CAAC;IAC3C,eAAe,EAAE,oBAAoB,GAAG,qBAAqB,GAAG,IAAI,CAAC;IACrE,gBAAgB,EAAE,oBAAoB,GAAG,qBAAqB,CAAC;IAC/D,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,WAAW,SAAS,UAAU,IAAI,CACvD,UAAU,EAAE,WAAW,KACpB,IAAI,CAAC;AAEV,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;IACvC,eAAe,EAAE,oBAAoB,GAAG,yBAAyB,GAAG,IAAI,CAAC;IACzE,gBAAgB,EAAE,oBAAoB,GAAG,yBAAyB,CAAC;IACnE,IAAI,EAAE,cAAc,CAAC;IACrB,WAAW,EAAE,UAAU,CAAC,qBAAqB,GAAG,cAAc,CAAC,CAAC;CACjE,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACtC,eAAe,EACX,oBAAoB,GACpB,qBAAqB,GACrB,yBAAyB,GACzB,IAAI,CAAC;IACT,gBAAgB,EACZ,oBAAoB,GACpB,qBAAqB,GACrB,yBAAyB,GACzB,cAAc,CAAC;IACnB,IAAI,EAAE,cAAc,CAAC;IACrB,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC,oBAAoB,CAAC,CAAC;CACxD,CAAC;AAEF,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,UAAU,GACjB,kBAAkB,CAuBpB;AAoBD,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,UAAU,EAClB,WAAW,EAAE,qBAAqB,CAAC,aAAa,CAAC,GAChD,UAAU,CAqCZ;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,UAAU,EAClB,WAAW,EAAE,oBAAoB,CAAC,aAAa,CAAC,GAC/C,oBAAoB,CAwBtB;AAmGD;;;;;;;GAOG;AACH,wBAAgB,yCAAyC,CACvD,WAAW,EAAE,mBAAmB,EAChC,cAAc,EAAE,oBAAoB,EACpC,aAAa,EAAE,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,kBAAkB,KAAK,IAAI,CAAC,GAC/D,IAAI,CAgGN;AAED,MAAM,MAAM,UAAU,GAClB,oBAAoB,GACpB,yBAAyB,GACzB,qBAAqB,GACrB,cAAc,CAAC;AAEnB,MAAM,MAAM,kBAAkB,GAAG,cAAc,GAAG,yBAAyB,CAAC"}
|