@isograph/react 0.0.0-main-bfd98f0e → 0.0.0-main-a706b60f
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-compile-typescript.log +1 -1
- package/dist/core/IsographEnvironment.d.ts +2 -2
- package/dist/core/IsographEnvironment.d.ts.map +1 -1
- package/dist/core/cache.d.ts +2 -2
- package/dist/core/cache.d.ts.map +1 -1
- package/dist/core/check.d.ts +5 -1
- package/dist/core/check.d.ts.map +1 -1
- package/dist/core/entrypoint.d.ts +11 -7
- package/dist/core/entrypoint.d.ts.map +1 -1
- package/dist/core/logging.d.ts +1 -1
- package/dist/core/logging.d.ts.map +1 -1
- package/dist/core/makeNetworkRequest.d.ts +3 -3
- package/dist/core/makeNetworkRequest.d.ts.map +1 -1
- package/dist/core/makeNetworkRequest.js +21 -5
- package/dist/core/reader.d.ts +1 -1
- 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/dist/react/FragmentReader.d.ts +1 -1
- package/dist/react/FragmentReader.d.ts.map +1 -1
- package/dist/react/useImperativeReference.d.ts +11 -5
- package/dist/react/useImperativeReference.d.ts.map +1 -1
- package/dist/react/useLazyReference.d.ts +3 -3
- package/dist/react/useLazyReference.d.ts.map +1 -1
- package/dist/react/useLazyReference.js +22 -1
- package/package.json +4 -4
- package/src/core/IsographEnvironment.ts +3 -3
- package/src/core/cache.ts +8 -1
- package/src/core/check.ts +6 -1
- package/src/core/entrypoint.ts +18 -8
- package/src/core/logging.ts +1 -1
- package/src/core/makeNetworkRequest.ts +40 -9
- package/src/core/read.ts +1 -1
- package/src/core/reader.ts +1 -1
- package/src/index.ts +1 -0
- package/src/react/FragmentReader.tsx +1 -1
- package/src/react/useImperativeReference.ts +33 -8
- package/src/react/useLazyReference.ts +54 -7
- package/src/tests/__isograph/Query/meName/entrypoint.ts +2 -1
- package/src/tests/__isograph/Query/meNameSuccessor/entrypoint.ts +2 -1
- package/src/tests/__isograph/Query/nodeField/entrypoint.ts +2 -1
- package/src/tests/__isograph/Query/subquery/entrypoint.ts +2 -1
- package/src/tests/__isograph/iso.ts +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
|
|
2
|
-
> @isograph/react@0.0.0-main-
|
|
2
|
+
> @isograph/react@0.0.0-main-a706b60f compile-typescript /Users/runner/work/isograph/isograph/libs/isograph-react
|
|
3
3
|
> rm -rf dist/* && tsc -p tsconfig.pkg.json
|
|
4
4
|
|
|
@@ -48,7 +48,7 @@ export type IsographEnvironment = {
|
|
|
48
48
|
readonly componentCache: ComponentCache;
|
|
49
49
|
readonly subscriptions: Subscriptions;
|
|
50
50
|
readonly fragmentCache: CacheMap<FragmentReference<any, any>>;
|
|
51
|
-
readonly entrypointArtifactCache: Map<string, PromiseWrapper<IsographEntrypoint<any, any>>>;
|
|
51
|
+
readonly entrypointArtifactCache: Map<string, PromiseWrapper<IsographEntrypoint<any, any, any>>>;
|
|
52
52
|
readonly retainedQueries: Set<RetainedQuery>;
|
|
53
53
|
readonly gcBuffer: Array<RetainedQuery>;
|
|
54
54
|
readonly gcBufferSize: number;
|
|
@@ -82,6 +82,6 @@ export declare function createIsographEnvironment(store: IsographStore, networkF
|
|
|
82
82
|
export declare function createIsographStore(): IsographStore;
|
|
83
83
|
export declare function assertLink(link: DataTypeValue): Link | null | undefined;
|
|
84
84
|
export declare function getLink(maybeLink: DataTypeValue): Link | null;
|
|
85
|
-
export declare function getOrLoadIsographArtifact(environment: IsographEnvironment, key: string, loader: () => Promise<IsographEntrypoint<any, any>>): PromiseWrapper<IsographEntrypoint<any, any>>;
|
|
85
|
+
export declare function getOrLoadIsographArtifact(environment: IsographEnvironment, key: string, loader: () => Promise<IsographEntrypoint<any, any, any>>): PromiseWrapper<IsographEntrypoint<any, any, any>>;
|
|
86
86
|
export {};
|
|
87
87
|
//# 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,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACnE,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;AAEvD,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC;AAC1C,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC;AACrC,KAAK,cAAc,GAAG;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,CAAC,GAAG,EAAE,oBAAoB,GAAG;YAAE,CAAC,GAAG,EAAE,eAAe,GAAG,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;SAAE,CAAC;KACxE,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAC9B,cAAc,SAAS;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACnC,IACC;IACF,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,CACjB,4BAA4B,EAAE,sBAAsB,CAAC,cAAc,CAAC,KACjE,IAAI,CAAC;IACV,wEAAwE;IACxE,QAAQ,CAAC,yBAAyB,EAAE,sBAAsB,CAAC,cAAc,CAAC,CAAC;IAC3E,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IACnE,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;CAC/C,CAAC;AAEF,KAAK,8BAA8B,GAAG;IACpC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;CAC3B,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC3B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;CAC/B,CAAC;AAEF,KAAK,YAAY,GACb,oBAAoB,CAAC,GAAG,CAAC,GACzB,8BAA8B,GAC9B,qBAAqB,CAAC;AAC1B,KAAK,aAAa,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC;AAEvC,KAAK,QAAQ,CAAC,CAAC,IAAI;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC;AAEvD,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,eAAe,EAAE,uBAAuB,CAAC;IAClD,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACzD,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,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,CAAC,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,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACnE,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;AAEvD,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC;AAC1C,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC;AACrC,KAAK,cAAc,GAAG;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,CAAC,GAAG,EAAE,oBAAoB,GAAG;YAAE,CAAC,GAAG,EAAE,eAAe,GAAG,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;SAAE,CAAC;KACxE,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAC9B,cAAc,SAAS;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACnC,IACC;IACF,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,CACjB,4BAA4B,EAAE,sBAAsB,CAAC,cAAc,CAAC,KACjE,IAAI,CAAC;IACV,wEAAwE;IACxE,QAAQ,CAAC,yBAAyB,EAAE,sBAAsB,CAAC,cAAc,CAAC,CAAC;IAC3E,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IACnE,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;CAC/C,CAAC;AAEF,KAAK,8BAA8B,GAAG;IACpC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;CAC3B,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC3B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;CAC/B,CAAC;AAEF,KAAK,YAAY,GACb,oBAAoB,CAAC,GAAG,CAAC,GACzB,8BAA8B,GAC9B,qBAAqB,CAAC;AAC1B,KAAK,aAAa,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC;AAEvC,KAAK,QAAQ,CAAC,CAAC,IAAI;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC;AAEvD,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,eAAe,EAAE,uBAAuB,CAAC;IAClD,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACzD,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,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,IAAI,EACV,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GAAG,IAAI,EAC3C,SAAS,EAAE,SAAS,GAAG,IAAI,KACxB,IAAI,GAAG,SAAS,CAAC;AAEtB,MAAM,MAAM,uBAAuB,GAAG,CACpC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,SAAS,KACjB,OAAO,CAAC,GAAG,CAAC,CAAC;AAElB,MAAM,MAAM,IAAI,GAAG;IACjB,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,IAAI,GAEJ,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,aAAa,GAAG;IAC1B,CAAC,KAAK,EAAE,QAAQ,GAAG;QACjB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAAC;KACrC,GAAG,IAAI,CAAC;IACT,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;KAC9B,CAAC;CACH,CAAC;AAGF,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,aAAa,EACpB,eAAe,EAAE,uBAAuB,EACxC,mBAAmB,CAAC,EAAE,mBAAmB,GAAG,IAAI,EAChD,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,GAC/B,mBAAmB,CAiBrB;AAED,wBAAgB,mBAAmB,IAAI,aAAa,CAMnD;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAWvE;AAED,wBAAgB,OAAO,CAAC,SAAS,EAAE,aAAa,GAAG,IAAI,GAAG,IAAI,CAY7D;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"}
|
package/dist/core/cache.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Factory, ParentCache } from '@isograph/react-disposable-state';
|
|
2
|
-
import { IsographEntrypoint, NormalizationLinkedField, NormalizationScalarField, RefetchQueryNormalizationArtifactWrapper, type NormalizationAstNodes } from '../core/entrypoint';
|
|
2
|
+
import { IsographEntrypoint, NormalizationLinkedField, NormalizationScalarField, RefetchQueryNormalizationArtifactWrapper, type NormalizationAst, type NormalizationAstLoader, type NormalizationAstNodes } from '../core/entrypoint';
|
|
3
3
|
import { FetchOptions } from './check';
|
|
4
4
|
import { ExtractParameters, FragmentReference, Variables } from './FragmentReference';
|
|
5
5
|
import { DataId, Link, type IsographEnvironment, type TypeName } from './IsographEnvironment';
|
|
@@ -21,7 +21,7 @@ export declare function getOrCreateCacheForArtifact<TReadFromStore extends {
|
|
|
21
21
|
parameters: object;
|
|
22
22
|
data: object;
|
|
23
23
|
startUpdate?: StartUpdate<object>;
|
|
24
|
-
}, TClientFieldValue>(environment: IsographEnvironment, entrypoint: IsographEntrypoint<TReadFromStore, TClientFieldValue>, variables: ExtractParameters<TReadFromStore>, fetchOptions?: FetchOptions<TClientFieldValue>): ParentCache<FragmentReference<TReadFromStore, TClientFieldValue>>;
|
|
24
|
+
}, TClientFieldValue, TNormalizationAst extends NormalizationAst | NormalizationAstLoader>(environment: IsographEnvironment, entrypoint: IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst>, variables: ExtractParameters<TReadFromStore>, fetchOptions?: FetchOptions<TClientFieldValue>): ParentCache<FragmentReference<TReadFromStore, TClientFieldValue>>;
|
|
25
25
|
type NetworkResponseScalarValue = string | number | boolean;
|
|
26
26
|
type NetworkResponseValue = NetworkResponseScalarValue | null | NetworkResponseObject | (NetworkResponseObject | null)[] | (NetworkResponseScalarValue | null)[];
|
|
27
27
|
export type NetworkResponseObject = {
|
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,wCAAwC,EACxC,KAAK,qBAAqB,EAC3B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,SAAS,EACV,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,MAAM,EAIN,IAAI,EAGJ,KAAK,mBAAmB,EACxB,KAAK,QAAQ,EACd,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EAAwB,sBAAsB,EAAE,MAAM,QAAQ,CAAC;AACtE,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,SAAS,EACd,KAAK,WAAW,EACjB,MAAM,UAAU,CAAC;AAGlB,eAAO,MAAM,mBAAmB,eAAe,CAAC;AAEhD,wBAAgB,8BAA8B,CAC5C,cAAc,SAAS;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACnC,EACD,iBAAiB,EAEjB,WAAW,EAAE,mBAAmB,EAChC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC,GACrE,WAAW,CAAC,iBAAiB,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC,CAanE;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAezC;AAED,wBAAgB,2BAA2B,CACzC,cAAc,SAAS;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACnC,EACD,iBAAiB,
|
|
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,wCAAwC,EACxC,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,EACV,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,MAAM,EAIN,IAAI,EAGJ,KAAK,mBAAmB,EACxB,KAAK,QAAQ,EACd,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EAAwB,sBAAsB,EAAE,MAAM,QAAQ,CAAC;AACtE,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,SAAS,EACd,KAAK,WAAW,EACjB,MAAM,UAAU,CAAC;AAGlB,eAAO,MAAM,mBAAmB,eAAe,CAAC;AAEhD,wBAAgB,8BAA8B,CAC5C,cAAc,SAAS;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACnC,EACD,iBAAiB,EAEjB,WAAW,EAAE,mBAAmB,EAChC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC,GACrE,WAAW,CAAC,iBAAiB,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC,CAanE;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAezC;AAED,wBAAgB,2BAA2B,CACzC,cAAc,SAAS;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACnC,EACD,iBAAiB,EACjB,iBAAiB,SAAS,gBAAgB,GAAG,sBAAsB,EAEnE,WAAW,EAAE,mBAAmB,EAChC,UAAU,EAAE,kBAAkB,CAC5B,cAAc,EACd,iBAAiB,EACjB,iBAAiB,CAClB,EACD,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAC5C,YAAY,CAAC,EAAE,YAAY,CAAC,iBAAiB,CAAC,GAC7C,WAAW,CAAC,iBAAiB,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC,CAgCnE;AAED,KAAK,0BAA0B,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAC5D,KAAK,oBAAoB,GACrB,0BAA0B,GAC1B,IAAI,GACJ,qBAAqB,GACrB,CAAC,qBAAqB,GAAG,IAAI,CAAC,EAAE,GAChC,CAAC,0BAA0B,GAAG,IAAI,CAAC,EAAE,CAAC;AAE1C,MAAM,MAAM,qBAAqB,GAAG;IAGlC,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,oBAAoB,CAAC;IAClD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,QAAQ,CAAC;CACvB,CAAC;AAEF,wBAAgB,aAAa,CAC3B,WAAW,EAAE,mBAAmB,EAChC,gBAAgB,EAAE,qBAAqB,EACvC,eAAe,EAAE,qBAAqB,EACtC,SAAS,EAAE,SAAS,EACpB,oBAAoB,EAAE,wCAAwC,EAAE,EAChE,IAAI,EAAE,IAAI,GACT,cAAc,CAgChB;AAED,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,mBAAmB,EAChC,QAAQ,EAAE,MAAM,IAAI,GACnB,MAAM,IAAI,CAOZ;AAED,wBAAgB,6BAA6B,CAC3C,WAAW,EAAE,mBAAmB,EAChC,UAAU,EAAE,IAAI,EAChB,QAAQ,EAAE,MAAM,IAAI,GACnB,MAAM,IAAI,CAQZ;AAGD,wBAAgB,SAAS,CACvB,cAAc,SAAS;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACnC,EAED,WAAW,EAAE,mBAAmB,EAChC,yBAAyB,EAAE,sBAAsB,CAAC,cAAc,CAAC,EACjE,iBAAiB,EAAE,iBAAiB,CAAC,cAAc,EAAE,GAAG,CAAC,EACzD,QAAQ,EAAE,CACR,4BAA4B,EAAE,sBAAsB,CAAC,cAAc,CAAC,KACjE,IAAI,EACT,SAAS,EAAE,SAAS,CAAC,cAAc,CAAC,GACnC,MAAM,IAAI,CAUZ;AAED,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,mBAAmB,EAChC,UAAU,EAAE,IAAI,GACf,OAAO,CAAC,IAAI,CAAC,CAWf;AA8HD,MAAM,MAAM,cAAc,GAAG,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AA6ExD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,UAOlE;AAwPD,wBAAgB,kBAAkB,CAChC,OAAO,EACH,wBAAwB,GACxB,wBAAwB,GACxB,iBAAiB,GACjB,iBAAiB,EACrB,SAAS,EAAE,SAAS,GACnB,MAAM,CAUR;AA0ED,eAAO,MAAM,eAAe,SAAS,CAAC;AACtC,eAAO,MAAM,gBAAgB,QAAQ,CAAC"}
|
package/dist/core/check.d.ts
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
import { NormalizationAstNodes } from './entrypoint';
|
|
2
2
|
import { Variables } from './FragmentReference';
|
|
3
3
|
import { IsographEnvironment, Link } from './IsographEnvironment';
|
|
4
|
-
export type ShouldFetch =
|
|
4
|
+
export type ShouldFetch = RequiredShouldFetch | 'IfNecessary';
|
|
5
|
+
export type RequiredShouldFetch = 'Yes' | 'No';
|
|
5
6
|
export declare const DEFAULT_SHOULD_FETCH_VALUE: ShouldFetch;
|
|
6
7
|
export type FetchOptions<TReadOutData> = {
|
|
7
8
|
shouldFetch?: ShouldFetch;
|
|
8
9
|
onComplete?: (data: TReadOutData) => void;
|
|
9
10
|
onError?: () => void;
|
|
10
11
|
};
|
|
12
|
+
export type RequiredFetchOptions<TReadOutData> = {
|
|
13
|
+
shouldFetch: RequiredShouldFetch;
|
|
14
|
+
} & FetchOptions<TReadOutData>;
|
|
11
15
|
export type CheckResult = {
|
|
12
16
|
kind: 'EnoughData';
|
|
13
17
|
} | {
|
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,IAAI,EAEL,MAAM,uBAAuB,CAAC;AAG/B,MAAM,MAAM,WAAW,GAAG,
|
|
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,IAAI,EAEL,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,IAAI,CAAC;CACd,CAAC;AAEN,wBAAgB,KAAK,CACnB,WAAW,EAAE,mBAAmB,EAChC,gBAAgB,EAAE,qBAAqB,EACvC,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,IAAI,GACT,WAAW,CAgBb"}
|
|
@@ -19,7 +19,7 @@ export type IsographEntrypoint<TReadFromStore extends {
|
|
|
19
19
|
parameters: object;
|
|
20
20
|
data: object;
|
|
21
21
|
startUpdate?: StartUpdate<object>;
|
|
22
|
-
}, TClientFieldValue, TNormalizationAst
|
|
22
|
+
}, TClientFieldValue, TNormalizationAst extends NormalizationAst | NormalizationAstLoader> = {
|
|
23
23
|
readonly kind: 'Entrypoint';
|
|
24
24
|
readonly networkRequestInfo: NetworkRequestInfo<TNormalizationAst>;
|
|
25
25
|
readonly readerWithRefetchQueries: ReaderWithRefetchQueries<TReadFromStore, TClientFieldValue>;
|
|
@@ -32,13 +32,17 @@ export type IsographEntrypointLoader<TReadFromStore extends {
|
|
|
32
32
|
}, TClientFieldValue> = {
|
|
33
33
|
readonly kind: 'EntrypointLoader';
|
|
34
34
|
readonly typeAndField: string;
|
|
35
|
-
readonly loader: () => Promise<IsographEntrypoint<TReadFromStore, TClientFieldValue>>;
|
|
35
|
+
readonly loader: () => Promise<IsographEntrypoint<TReadFromStore, TClientFieldValue, NormalizationAst>>;
|
|
36
36
|
};
|
|
37
37
|
export type NormalizationAstNode = NormalizationScalarField | NormalizationLinkedField | NormalizationInlineFragment;
|
|
38
38
|
export type NormalizationAstNodes = ReadonlyArray<NormalizationAstNode>;
|
|
39
39
|
export type NormalizationAst = {
|
|
40
|
-
kind: 'NormalizationAst';
|
|
41
|
-
selections: NormalizationAstNodes;
|
|
40
|
+
readonly kind: 'NormalizationAst';
|
|
41
|
+
readonly selections: NormalizationAstNodes;
|
|
42
|
+
};
|
|
43
|
+
export type NormalizationAstLoader = {
|
|
44
|
+
readonly kind: 'NormalizationAstLoader';
|
|
45
|
+
readonly loader: () => Promise<NormalizationAst>;
|
|
42
46
|
};
|
|
43
47
|
export type NormalizationScalarField = {
|
|
44
48
|
readonly kind: 'Scalar';
|
|
@@ -70,8 +74,8 @@ export declare function assertIsEntrypoint<TReadFromStore extends {
|
|
|
70
74
|
parameters: object;
|
|
71
75
|
data: object;
|
|
72
76
|
startUpdate?: StartUpdate<object>;
|
|
73
|
-
}, TClientFieldValue>(value: IsographEntrypoint<TReadFromStore, TClientFieldValue> | ((_: any) => any) | any): asserts value is IsographEntrypoint<TReadFromStore, TClientFieldValue>;
|
|
74
|
-
export type ExtractReadFromStore<Type> = Type extends IsographEntrypoint<infer X, any> ? X : never;
|
|
75
|
-
export type ExtractResolverResult<Type> = Type extends IsographEntrypoint<any, infer X> ? X : never;
|
|
77
|
+
}, TClientFieldValue, TNormalizationAst extends NormalizationAst | NormalizationAstLoader>(value: IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst> | ((_: any) => any) | any): asserts value is IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst>;
|
|
78
|
+
export type ExtractReadFromStore<Type> = Type extends IsographEntrypoint<infer X, any, any> ? X : never;
|
|
79
|
+
export type ExtractResolverResult<Type> = Type extends IsographEntrypoint<any, infer X, any> ? X : never;
|
|
76
80
|
export type ExtractProps<Type> = Type extends React.FC<infer X> ? X : never;
|
|
77
81
|
//# sourceMappingURL=entrypoint.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entrypoint.d.ts","sourceRoot":"","sources":["../../src/core/entrypoint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,MAAM,MAAM,wBAAwB,CAClC,cAAc,SAAS;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACnC,EACD,iBAAiB,IACf;IACF,QAAQ,CAAC,IAAI,EAAE,0BAA0B,CAAC;IAC1C,QAAQ,CAAC,cAAc,EAAE,sBAAsB,CAC7C,cAAc,EACd,iBAAiB,EAEjB,GAAG,CACJ,CAAC;IACF,QAAQ,CAAC,oBAAoB,EAAE,wCAAwC,EAAE,CAAC;CAC3E,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,iBAAiB,IAAI;IAClD,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAC5B,cAAc,SAAS;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACnC,EACD,iBAAiB,EACjB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"entrypoint.d.ts","sourceRoot":"","sources":["../../src/core/entrypoint.ts"],"names":[],"mappings":"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"}
|
package/dist/core/logging.d.ts
CHANGED
|
@@ -32,7 +32,7 @@ export type LogMessage = {
|
|
|
32
32
|
rootLink: Link;
|
|
33
33
|
} | {
|
|
34
34
|
kind: 'MakeNetworkRequest';
|
|
35
|
-
artifact: RefetchQueryNormalizationArtifact | IsographEntrypoint<any, any>;
|
|
35
|
+
artifact: RefetchQueryNormalizationArtifact | IsographEntrypoint<any, any, any>;
|
|
36
36
|
variables: Variables;
|
|
37
37
|
networkRequestId: string;
|
|
38
38
|
} | {
|
|
@@ -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,IAAI,EACV,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,MAAM,MAAM,UAAU,GAClB;IACE,IAAI,EAAE,0BAA0B,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC3C,KAAK,EAAE,OAAO,CAAC;CAChB,GACD;IACE,IAAI,EAAE,kBAAkB,CAAC;IACzB,gBAAgB,EAAE,qBAAqB,CAAC;IACxC,eAAe,EAAE,qBAAqB,CAAC;IACvC,SAAS,EAAE,SAAS,CAAC;CACtB,GACD;IACE,IAAI,EAAE,oBAAoB,CAAC;IAC3B,KAAK,EAAE,aAAa,CAAC;IACrB,cAAc,EAAE,cAAc,CAAC;CAChC,GACD;IACE,IAAI,EAAE,mBAAmB,CAAC;IAC1B,iBAAiB,EAAE,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC/C,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,OAAO,CAAC;CACtB,GACD;IACE,IAAI,EAAE,qBAAqB,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,IAAI,CAAC;CAChB,GACD;IACE,IAAI,EAAE,oBAAoB,CAAC;IAC3B,QAAQ,EACJ,iCAAiC,GACjC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../src/core/logging.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ItemCleanupPair } from '@isograph/disposable-types';
|
|
2
2
|
import { FetchOptions } from './check';
|
|
3
|
-
import { IsographEntrypoint, RefetchQueryNormalizationArtifact } from './entrypoint';
|
|
3
|
+
import { IsographEntrypoint, RefetchQueryNormalizationArtifact, type NormalizationAst, type NormalizationAstLoader } from './entrypoint';
|
|
4
4
|
import { ExtractParameters } from './FragmentReference';
|
|
5
5
|
import { IsographEnvironment } from './IsographEnvironment';
|
|
6
6
|
import { AnyError, PromiseWrapper } from './PromiseWrapper';
|
|
@@ -9,10 +9,10 @@ export declare function maybeMakeNetworkRequest<TReadFromStore extends {
|
|
|
9
9
|
parameters: object;
|
|
10
10
|
data: object;
|
|
11
11
|
startUpdate?: StartUpdate<object>;
|
|
12
|
-
}, TClientFieldValue>(environment: IsographEnvironment, artifact: RefetchQueryNormalizationArtifact | IsographEntrypoint<TReadFromStore, TClientFieldValue>, variables: ExtractParameters<TReadFromStore>, fetchOptions?: FetchOptions<TClientFieldValue>): ItemCleanupPair<PromiseWrapper<void, AnyError>>;
|
|
12
|
+
}, TClientFieldValue, TNormalizationAst extends NormalizationAst | NormalizationAstLoader>(environment: IsographEnvironment, artifact: RefetchQueryNormalizationArtifact | IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst>, variables: ExtractParameters<TReadFromStore>, fetchOptions?: FetchOptions<TClientFieldValue>): ItemCleanupPair<PromiseWrapper<void, AnyError>>;
|
|
13
13
|
export declare function makeNetworkRequest<TReadFromStore extends {
|
|
14
14
|
parameters: object;
|
|
15
15
|
data: object;
|
|
16
16
|
startUpdate?: StartUpdate<object>;
|
|
17
|
-
}, TClientFieldValue>(environment: IsographEnvironment, artifact: RefetchQueryNormalizationArtifact | IsographEntrypoint<TReadFromStore, TClientFieldValue>, variables: ExtractParameters<TReadFromStore>, fetchOptions?: FetchOptions<TClientFieldValue>): ItemCleanupPair<PromiseWrapper<void, AnyError>>;
|
|
17
|
+
}, TClientFieldValue, TNormalizationAst extends NormalizationAst | NormalizationAstLoader>(environment: IsographEnvironment, artifact: RefetchQueryNormalizationArtifact | IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst>, variables: ExtractParameters<TReadFromStore>, fetchOptions?: FetchOptions<TClientFieldValue>): ItemCleanupPair<PromiseWrapper<void, AnyError>>;
|
|
18
18
|
//# sourceMappingURL=makeNetworkRequest.d.ts.map
|
|
@@ -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,iCAAiC,
|
|
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,iCAAiC,EACjC,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC5B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,iBAAiB,EAA0B,MAAM,qBAAqB,CAAC;AAOhF,OAAO,EAAE,mBAAmB,EAAiB,MAAM,uBAAuB,CAAC;AAE3E,OAAO,EACL,QAAQ,EACR,cAAc,EAGf,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAK5C,wBAAgB,uBAAuB,CACrC,cAAc,SAAS;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACnC,EACD,iBAAiB,EACjB,iBAAiB,SAAS,gBAAgB,GAAG,sBAAsB,EAEnE,WAAW,EAAE,mBAAmB,EAChC,QAAQ,EACJ,iCAAiC,GACjC,kBAAkB,CAAC,cAAc,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,EAC5E,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAC5C,YAAY,CAAC,EAAE,YAAY,CAAC,iBAAiB,CAAC,GAC7C,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAuCjD;AAeD,wBAAgB,kBAAkB,CAChC,cAAc,SAAS;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACnC,EACD,iBAAiB,EACjB,iBAAiB,SAAS,gBAAgB,GAAG,sBAAsB,EAEnE,WAAW,EAAE,mBAAmB,EAChC,QAAQ,EACJ,iCAAiC,GACjC,kBAAkB,CAAC,cAAc,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,EAC5E,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAC5C,YAAY,CAAC,EAAE,YAAY,CAAC,iBAAiB,CAAC,GAC7C,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAiHjD"}
|
|
@@ -22,6 +22,10 @@ function maybeMakeNetworkRequest(environment, artifact, variables, fetchOptions)
|
|
|
22
22
|
return [(0, PromiseWrapper_1.wrapResolvedValue)(undefined), () => { }];
|
|
23
23
|
}
|
|
24
24
|
case 'IfNecessary': {
|
|
25
|
+
if (artifact.networkRequestInfo.normalizationAst.kind ===
|
|
26
|
+
'NormalizationAstLoader') {
|
|
27
|
+
throw new Error('Using lazy loaded normalizationAst with shouldFetch: "IfNecessary" is not supported as it will lead to slower initial load time.');
|
|
28
|
+
}
|
|
25
29
|
const result = (0, check_1.check)(environment, artifact.networkRequestInfo.normalizationAst.selections, variables, {
|
|
26
30
|
__link: IsographEnvironment_1.ROOT_ID,
|
|
27
31
|
__typename: artifact.concreteType,
|
|
@@ -35,6 +39,16 @@ function maybeMakeNetworkRequest(environment, artifact, variables, fetchOptions)
|
|
|
35
39
|
}
|
|
36
40
|
}
|
|
37
41
|
}
|
|
42
|
+
function loadNormalizationAst(normalizationAst) {
|
|
43
|
+
switch (normalizationAst.kind) {
|
|
44
|
+
case 'NormalizationAst': {
|
|
45
|
+
return normalizationAst;
|
|
46
|
+
}
|
|
47
|
+
case 'NormalizationAstLoader': {
|
|
48
|
+
return normalizationAst.loader();
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
38
52
|
function makeNetworkRequest(environment, artifact, variables, fetchOptions) {
|
|
39
53
|
// TODO this should be a DataId and stored in the store
|
|
40
54
|
const myNetworkRequestId = networkRequestId + '';
|
|
@@ -49,9 +63,11 @@ function makeNetworkRequest(environment, artifact, variables, fetchOptions) {
|
|
|
49
63
|
kind: 'UndisposedIncomplete',
|
|
50
64
|
};
|
|
51
65
|
// This should be an observable, not a promise
|
|
52
|
-
const promise =
|
|
53
|
-
.networkFunction(artifact.networkRequestInfo.queryText, variables)
|
|
54
|
-
.
|
|
66
|
+
const promise = Promise.all([
|
|
67
|
+
environment.networkFunction(artifact.networkRequestInfo.queryText, variables),
|
|
68
|
+
loadNormalizationAst(artifact.networkRequestInfo.normalizationAst),
|
|
69
|
+
])
|
|
70
|
+
.then(([networkResponse, normalizationAst]) => {
|
|
55
71
|
var _a, _b;
|
|
56
72
|
(0, logging_1.logMessage)(environment, {
|
|
57
73
|
kind: 'ReceivedNetworkResponse',
|
|
@@ -69,11 +85,11 @@ function makeNetworkRequest(environment, artifact, variables, fetchOptions) {
|
|
|
69
85
|
}
|
|
70
86
|
const root = { __link: IsographEnvironment_1.ROOT_ID, __typename: artifact.concreteType };
|
|
71
87
|
if (status.kind === 'UndisposedIncomplete') {
|
|
72
|
-
(0, cache_1.normalizeData)(environment,
|
|
88
|
+
(0, cache_1.normalizeData)(environment, normalizationAst.selections, (_b = networkResponse.data) !== null && _b !== void 0 ? _b : {}, variables, artifact.kind === 'Entrypoint'
|
|
73
89
|
? artifact.readerWithRefetchQueries.nestedRefetchQueries
|
|
74
90
|
: [], root);
|
|
75
91
|
const retainedQuery = {
|
|
76
|
-
normalizationAst:
|
|
92
|
+
normalizationAst: normalizationAst.selections,
|
|
77
93
|
variables,
|
|
78
94
|
root,
|
|
79
95
|
};
|
package/dist/core/reader.d.ts
CHANGED
|
@@ -89,7 +89,7 @@ export type ReaderLoadableField = {
|
|
|
89
89
|
readonly name: string;
|
|
90
90
|
readonly queryArguments: Arguments | null;
|
|
91
91
|
readonly refetchReaderAst: ReaderAst<any>;
|
|
92
|
-
readonly entrypoint: IsographEntrypoint<any, any> | IsographEntrypointLoader<any, any>;
|
|
92
|
+
readonly entrypoint: IsographEntrypoint<any, any, any> | IsographEntrypointLoader<any, any>;
|
|
93
93
|
};
|
|
94
94
|
type StableId = string;
|
|
95
95
|
export type LoadableField<TReadFromStore extends {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reader.d.ts","sourceRoot":"","sources":["../../src/core/reader.ts"],"names":[],"mappings":"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
|
|
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
|
@@ -4,7 +4,7 @@ export { subscribe, normalizeData } from './core/cache';
|
|
|
4
4
|
export { makeNetworkRequest } from './core/makeNetworkRequest';
|
|
5
5
|
export { ROOT_ID, type DataId, type DataTypeValue, type IsographEnvironment, type IsographNetworkFunction, type IsographStore, type Link, type StoreRecord, createIsographEnvironment, createIsographStore, } 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 ResolverFirstParameter, } from './core/reader';
|
|
7
|
-
export { type NormalizationAst, type NormalizationAstNode, type NormalizationLinkedField, type NormalizationScalarField, type IsographEntrypoint, assertIsEntrypoint, type RefetchQueryNormalizationArtifact, type RefetchQueryNormalizationArtifactWrapper, type ExtractProps, type ExtractReadFromStore, type ExtractResolverResult, type NetworkRequestInfo, } from './core/entrypoint';
|
|
7
|
+
export { type NormalizationAst, type NormalizationAstNode, type NormalizationAstLoader, type NormalizationLinkedField, type NormalizationScalarField, type IsographEntrypoint, assertIsEntrypoint, type RefetchQueryNormalizationArtifact, type RefetchQueryNormalizationArtifactWrapper, type ExtractProps, type ExtractReadFromStore, type ExtractResolverResult, type NetworkRequestInfo, } from './core/entrypoint';
|
|
8
8
|
export { readButDoNotEvaluate } from './core/read';
|
|
9
9
|
export { type ExtractSecondParam, type CombineWithIntrinsicAttributes, type Argument, type ArgumentName, type ArgumentValue, type Arguments, } from './core/util';
|
|
10
10
|
export { type FragmentReference, type Variables, type ExtractParameters, type ExtractData, stableIdForFragmentReference, } from './core/FragmentReference';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,aAAa,EACb,KAAK,aAAa,EAClB,yBAAyB,GAC1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,KAAK,cAAc,EACnB,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,WAAW,GACZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EACL,OAAO,EACP,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,aAAa,EAClB,KAAK,IAAI,EACT,KAAK,WAAW,EAChB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,8BAA8B,EACnC,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAClB,KAAK,sBAAsB,GAC5B,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,kBAAkB,EAClB,KAAK,iCAAiC,EACtC,KAAK,wCAAwC,EAC7C,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,GACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,8BAA8B,EACnC,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,SAAS,GACf,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,4BAA4B,GAC7B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,UAAU,EACV,cAAc,GACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE7E,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,EACtB,KAAK,gCAAgC,GACtC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EACL,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AAEtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,iCAAiC,EAAE,MAAM,oDAAoD,CAAC;AACvG,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAC3F,OAAO,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,aAAa,EACb,KAAK,aAAa,EAClB,yBAAyB,GAC1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,KAAK,cAAc,EACnB,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,WAAW,GACZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EACL,OAAO,EACP,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,aAAa,EAClB,KAAK,IAAI,EACT,KAAK,WAAW,EAChB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,8BAA8B,EACnC,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAClB,KAAK,sBAAsB,GAC5B,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,kBAAkB,EAClB,KAAK,iCAAiC,EACtC,KAAK,wCAAwC,EAC7C,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,GACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,8BAA8B,EACnC,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,SAAS,GACf,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,4BAA4B,GAC7B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,UAAU,EACV,cAAc,GACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE7E,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,EACtB,KAAK,gCAAgC,GACtC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EACL,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AAEtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,iCAAiC,EAAE,MAAM,oDAAoD,CAAC;AACvG,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAC3F,OAAO,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAC"}
|
|
@@ -3,7 +3,7 @@ import { ExtractReadFromStore, IsographEntrypoint } from '../core/entrypoint';
|
|
|
3
3
|
import { FragmentReference } from '../core/FragmentReference';
|
|
4
4
|
import { NetworkRequestReaderOptions } from '../core/read';
|
|
5
5
|
type IsExactlyIntrinsicAttributes<T> = T extends JSX.IntrinsicAttributes ? JSX.IntrinsicAttributes extends T ? true : false : false;
|
|
6
|
-
export declare function FragmentReader<TProps extends Record<any, any>, TEntrypoint extends IsographEntrypoint<any, React.FC<TProps
|
|
6
|
+
export declare function FragmentReader<TProps extends Record<any, any>, TEntrypoint extends IsographEntrypoint<any, React.FC<TProps>, any>>(props: IsExactlyIntrinsicAttributes<TProps> extends true ? {
|
|
7
7
|
fragmentReference: FragmentReference<ExtractReadFromStore<TEntrypoint>, React.FC<TProps>>;
|
|
8
8
|
additionalProps?: Record<PropertyKey, never>;
|
|
9
9
|
networkRequestOptions?: Partial<NetworkRequestReaderOptions>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FragmentReader.d.ts","sourceRoot":"","sources":["../../src/react/FragmentReader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAG3D,KAAK,4BAA4B,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,mBAAmB,GACpE,GAAG,CAAC,mBAAmB,SAAS,CAAC,GAC/B,IAAI,GACJ,KAAK,GACP,KAAK,CAAC;AAEV,wBAAgB,cAAc,CAC5B,MAAM,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAC/B,WAAW,SAAS,kBAAkB,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"FragmentReader.d.ts","sourceRoot":"","sources":["../../src/react/FragmentReader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAG3D,KAAK,4BAA4B,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,mBAAmB,GACpE,GAAG,CAAC,mBAAmB,SAAS,CAAC,GAC/B,IAAI,GACJ,KAAK,GACP,KAAK,CAAC;AAEV,wBAAgB,cAAc,CAC5B,MAAM,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAC/B,WAAW,SAAS,kBAAkB,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,EAElE,KAAK,EAAE,4BAA4B,CAAC,MAAM,CAAC,SAAS,IAAI,GACpD;IACE,iBAAiB,EAAE,iBAAiB,CAClC,oBAAoB,CAAC,WAAW,CAAC,EACjC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,CACjB,CAAC;IACF,eAAe,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAC7C,qBAAqB,CAAC,EAAE,OAAO,CAAC,2BAA2B,CAAC,CAAC;CAC9D,GACD;IACE,iBAAiB,EAAE,iBAAiB,CAClC,oBAAoB,CAAC,WAAW,CAAC,EACjC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,CACjB,CAAC;IACF,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAC7D,qBAAqB,CAAC,EAAE,OAAO,CAAC,2BAA2B,CAAC,CAAC;CAC9D,GACJ,KAAK,CAAC,SAAS,CASjB"}
|
|
@@ -1,13 +1,19 @@
|
|
|
1
|
-
import { FetchOptions } from '../core/check';
|
|
2
|
-
import { IsographEntrypoint } from '../core/entrypoint';
|
|
1
|
+
import { FetchOptions, type RequiredFetchOptions } from '../core/check';
|
|
2
|
+
import { IsographEntrypoint, type NormalizationAst, type NormalizationAstLoader } from '../core/entrypoint';
|
|
3
3
|
import { ExtractParameters, FragmentReference } from '../core/FragmentReference';
|
|
4
4
|
import type { StartUpdate } from '../core/reader';
|
|
5
|
-
|
|
5
|
+
type UseImperativeReferenceResult<TReadFromStore extends {
|
|
6
6
|
parameters: object;
|
|
7
7
|
data: object;
|
|
8
8
|
startUpdate?: StartUpdate<object>;
|
|
9
|
-
}, TClientFieldValue
|
|
9
|
+
}, TClientFieldValue, TNormalizationAst extends NormalizationAst | NormalizationAstLoader> = {
|
|
10
10
|
fragmentReference: FragmentReference<TReadFromStore, TClientFieldValue> | null;
|
|
11
|
-
loadFragmentReference: (variables: ExtractParameters<TReadFromStore>, fetchOptions?: FetchOptions<TClientFieldValue>) => void;
|
|
11
|
+
loadFragmentReference: (variables: ExtractParameters<TReadFromStore>, ...[fetchOptions]: NormalizationAstLoader extends TNormalizationAst ? [fetchOptions: RequiredFetchOptions<TClientFieldValue>] : [fetchOptions?: FetchOptions<TClientFieldValue>]) => void;
|
|
12
12
|
};
|
|
13
|
+
export declare function useImperativeReference<TReadFromStore extends {
|
|
14
|
+
parameters: object;
|
|
15
|
+
data: object;
|
|
16
|
+
startUpdate?: StartUpdate<object>;
|
|
17
|
+
}, TClientFieldValue, TNormalizationAst extends NormalizationAst | NormalizationAstLoader>(entrypoint: IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst>): UseImperativeReferenceResult<TReadFromStore, TClientFieldValue, TNormalizationAst>;
|
|
18
|
+
export {};
|
|
13
19
|
//# sourceMappingURL=useImperativeReference.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useImperativeReference.d.ts","sourceRoot":"","sources":["../../src/react/useImperativeReference.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"useImperativeReference.d.ts","sourceRoot":"","sources":["../../src/react/useImperativeReference.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,KAAK,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EACL,kBAAkB,EAClB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,2BAA2B,CAAC;AAInC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,KAAK,4BAA4B,CAC/B,cAAc,SAAS;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACnC,EACD,iBAAiB,EACjB,iBAAiB,SAAS,gBAAgB,GAAG,sBAAsB,IACjE;IACF,iBAAiB,EAAE,iBAAiB,CAClC,cAAc,EACd,iBAAiB,CAClB,GAAG,IAAI,CAAC;IACT,qBAAqB,EAAE,CACrB,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAC5C,GAAG,CAAC,YAAY,CAAC,EAAE,sBAAsB,SAAS,iBAAiB,GAC/D,CAAC,YAAY,EAAE,oBAAoB,CAAC,iBAAiB,CAAC,CAAC,GACvD,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC,iBAAiB,CAAC,CAAC,KACjD,IAAI,CAAC;CACX,CAAC;AAEF,wBAAgB,sBAAsB,CACpC,cAAc,SAAS;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACnC,EACD,iBAAiB,EACjB,iBAAiB,SAAS,gBAAgB,GAAG,sBAAsB,EAEnE,UAAU,EAAE,kBAAkB,CAC5B,cAAc,EACd,iBAAiB,EACjB,iBAAiB,CAClB,GACA,4BAA4B,CAC7B,cAAc,EACd,iBAAiB,EACjB,iBAAiB,CAClB,CAqCA"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { FetchOptions } from '../core/check';
|
|
2
|
-
import { IsographEntrypoint } from '../core/entrypoint';
|
|
1
|
+
import { FetchOptions, type RequiredFetchOptions } from '../core/check';
|
|
2
|
+
import { IsographEntrypoint, type NormalizationAst, type NormalizationAstLoader } from '../core/entrypoint';
|
|
3
3
|
import { ExtractParameters, FragmentReference } from '../core/FragmentReference';
|
|
4
4
|
import type { StartUpdate } from '../core/reader';
|
|
5
5
|
export declare function useLazyReference<TReadFromStore extends {
|
|
6
6
|
parameters: object;
|
|
7
7
|
data: object;
|
|
8
8
|
startUpdate?: StartUpdate<object>;
|
|
9
|
-
}, TClientFieldValue>(entrypoint: IsographEntrypoint<TReadFromStore, TClientFieldValue>, variables: ExtractParameters<TReadFromStore>, fetchOptions?: FetchOptions<TClientFieldValue>): {
|
|
9
|
+
}, TClientFieldValue, TNormalizationAst extends NormalizationAst | NormalizationAstLoader>(entrypoint: IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst>, variables: ExtractParameters<TReadFromStore>, ...[fetchOptions]: TNormalizationAst extends NormalizationAstLoader ? [fetchOptions: RequiredFetchOptions<TClientFieldValue>] : [fetchOptions?: FetchOptions<TClientFieldValue>]): NormalizationAst | NormalizationAstLoader extends TNormalizationAst ? unknown : {
|
|
10
10
|
fragmentReference: FragmentReference<TReadFromStore, TClientFieldValue>;
|
|
11
11
|
};
|
|
12
12
|
//# sourceMappingURL=useLazyReference.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLazyReference.d.ts","sourceRoot":"","sources":["../../src/react/useLazyReference.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"useLazyReference.d.ts","sourceRoot":"","sources":["../../src/react/useLazyReference.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,KAAK,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EACL,kBAAkB,EAClB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,wBAAgB,gBAAgB,CAC9B,cAAc,SAAS;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACnC,EACD,iBAAiB,EACjB,iBAAiB,SAAS,gBAAgB,GAAG,sBAAsB,EAEnE,UAAU,EAAE,kBAAkB,CAC5B,cAAc,EACd,iBAAiB,EACjB,iBAAiB,CAClB,EACD,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAC5C,GAAG,CAAC,YAAY,CAAC,EAAE,iBAAiB,SAAS,sBAAsB,GAC/D,CAAC,YAAY,EAAE,oBAAoB,CAAC,iBAAiB,CAAC,CAAC,GACvD,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC,iBAAiB,CAAC,CAAC,GACnD,gBAAgB,GAAG,sBAAsB,SAAS,iBAAiB,GAClE,OAAO,GACP;IACE,iBAAiB,EAAE,iBAAiB,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;CACzE,CAqBJ"}
|
|
@@ -5,7 +5,7 @@ const react_disposable_state_1 = require("@isograph/react-disposable-state");
|
|
|
5
5
|
const cache_1 = require("../core/cache");
|
|
6
6
|
const logging_1 = require("../core/logging");
|
|
7
7
|
const IsographEnvironmentProvider_1 = require("./IsographEnvironmentProvider");
|
|
8
|
-
function useLazyReference(entrypoint, variables, fetchOptions) {
|
|
8
|
+
function useLazyReference(entrypoint, variables, ...[fetchOptions]) {
|
|
9
9
|
const environment = (0, IsographEnvironmentProvider_1.useIsographEnvironment)();
|
|
10
10
|
if ((entrypoint === null || entrypoint === void 0 ? void 0 : entrypoint.kind) !== 'Entrypoint') {
|
|
11
11
|
// TODO have a separate error logger
|
|
@@ -19,3 +19,24 @@ function useLazyReference(entrypoint, variables, fetchOptions) {
|
|
|
19
19
|
fragmentReference: (0, react_disposable_state_1.useLazyDisposableState)(cache).state,
|
|
20
20
|
};
|
|
21
21
|
}
|
|
22
|
+
// @ts-ignore
|
|
23
|
+
function tsTests() {
|
|
24
|
+
let withAst;
|
|
25
|
+
let withAstLoader;
|
|
26
|
+
let withAstOrLoader;
|
|
27
|
+
useLazyReference(withAst, {});
|
|
28
|
+
useLazyReference(withAst, {}, { shouldFetch: 'Yes' });
|
|
29
|
+
useLazyReference(withAst, {}, { shouldFetch: 'IfNecessary' });
|
|
30
|
+
// @ts-expect-error if there's no ast, require `shouldFetch` to be specified
|
|
31
|
+
useLazyReference(withAstLoader, {});
|
|
32
|
+
useLazyReference(withAstLoader, {}, { shouldFetch: 'Yes' });
|
|
33
|
+
// @ts-expect-error if there's no ast, `shouldFetch` can't be `IfNecessary`
|
|
34
|
+
useLazyReference(withAstLoader, {}, { shouldFetch: 'IfNecessary' });
|
|
35
|
+
// if the type is unknown there can be no ast so we should use the same rules
|
|
36
|
+
// but because of TS bugs with inference we just return unknown
|
|
37
|
+
// @ts-expect-error this returns unknown which doesn't satisfy the constraint
|
|
38
|
+
useLazyReference(withAstOrLoader, {});
|
|
39
|
+
// @ts-expect-error this returns unknown which doesn't satisfy the constraint
|
|
40
|
+
useLazyReference(withAstOrLoader, {}, { shouldFetch: 'Yes' });
|
|
41
|
+
useLazyReference(withAstOrLoader, {}, { shouldFetch: 'IfNecessary' });
|
|
42
|
+
}
|
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-a706b60f",
|
|
4
4
|
"description": "Use Isograph with React",
|
|
5
5
|
"homepage": "https://isograph.dev",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
"iso-watch": "cross-env ../../target/debug/isograph_cli --config ./isograph.config.json --watch"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@isograph/disposable-types": "0.0.0-main-
|
|
24
|
-
"@isograph/react-disposable-state": "0.0.0-main-
|
|
25
|
-
"@isograph/reference-counted-pointer": "0.0.0-main-
|
|
23
|
+
"@isograph/disposable-types": "0.0.0-main-a706b60f",
|
|
24
|
+
"@isograph/react-disposable-state": "0.0.0-main-a706b60f",
|
|
25
|
+
"@isograph/reference-counted-pointer": "0.0.0-main-a706b60f"
|
|
26
26
|
},
|
|
27
27
|
"peerDependencies": {
|
|
28
28
|
"react": "^18.0.0 || ^19.0.0"
|
|
@@ -63,7 +63,7 @@ export type IsographEnvironment = {
|
|
|
63
63
|
// TODO make this a CacheMap and add GC
|
|
64
64
|
readonly entrypointArtifactCache: Map<
|
|
65
65
|
string,
|
|
66
|
-
PromiseWrapper<IsographEntrypoint<any, any>>
|
|
66
|
+
PromiseWrapper<IsographEntrypoint<any, any, any>>
|
|
67
67
|
>;
|
|
68
68
|
readonly retainedQueries: Set<RetainedQuery>;
|
|
69
69
|
readonly gcBuffer: Array<RetainedQuery>;
|
|
@@ -187,8 +187,8 @@ export function getLink(maybeLink: DataTypeValue): Link | null {
|
|
|
187
187
|
export function getOrLoadIsographArtifact(
|
|
188
188
|
environment: IsographEnvironment,
|
|
189
189
|
key: string,
|
|
190
|
-
loader: () => Promise<IsographEntrypoint<any, any>>,
|
|
191
|
-
): PromiseWrapper<IsographEntrypoint<any, any>> {
|
|
190
|
+
loader: () => Promise<IsographEntrypoint<any, any, any>>,
|
|
191
|
+
): PromiseWrapper<IsographEntrypoint<any, any, any>> {
|
|
192
192
|
const value = environment.entrypointArtifactCache.get(key);
|
|
193
193
|
if (value != null) {
|
|
194
194
|
return value;
|
package/src/core/cache.ts
CHANGED
|
@@ -9,6 +9,8 @@ import {
|
|
|
9
9
|
NormalizationLinkedField,
|
|
10
10
|
NormalizationScalarField,
|
|
11
11
|
RefetchQueryNormalizationArtifactWrapper,
|
|
12
|
+
type NormalizationAst,
|
|
13
|
+
type NormalizationAstLoader,
|
|
12
14
|
type NormalizationAstNodes,
|
|
13
15
|
} from '../core/entrypoint';
|
|
14
16
|
import { mergeObjectsUsingReaderAst } from './areEqualWithDeepComparison';
|
|
@@ -98,9 +100,14 @@ export function getOrCreateCacheForArtifact<
|
|
|
98
100
|
startUpdate?: StartUpdate<object>;
|
|
99
101
|
},
|
|
100
102
|
TClientFieldValue,
|
|
103
|
+
TNormalizationAst extends NormalizationAst | NormalizationAstLoader,
|
|
101
104
|
>(
|
|
102
105
|
environment: IsographEnvironment,
|
|
103
|
-
entrypoint: IsographEntrypoint<
|
|
106
|
+
entrypoint: IsographEntrypoint<
|
|
107
|
+
TReadFromStore,
|
|
108
|
+
TClientFieldValue,
|
|
109
|
+
TNormalizationAst
|
|
110
|
+
>,
|
|
104
111
|
variables: ExtractParameters<TReadFromStore>,
|
|
105
112
|
fetchOptions?: FetchOptions<TClientFieldValue>,
|
|
106
113
|
): ParentCache<FragmentReference<TReadFromStore, TClientFieldValue>> {
|
package/src/core/check.ts
CHANGED
|
@@ -9,7 +9,8 @@ import {
|
|
|
9
9
|
} from './IsographEnvironment';
|
|
10
10
|
import { logMessage } from './logging';
|
|
11
11
|
|
|
12
|
-
export type ShouldFetch =
|
|
12
|
+
export type ShouldFetch = RequiredShouldFetch | 'IfNecessary';
|
|
13
|
+
export type RequiredShouldFetch = 'Yes' | 'No';
|
|
13
14
|
|
|
14
15
|
export const DEFAULT_SHOULD_FETCH_VALUE: ShouldFetch = 'IfNecessary';
|
|
15
16
|
|
|
@@ -19,6 +20,10 @@ export type FetchOptions<TReadOutData> = {
|
|
|
19
20
|
onError?: () => void;
|
|
20
21
|
};
|
|
21
22
|
|
|
23
|
+
export type RequiredFetchOptions<TReadOutData> = {
|
|
24
|
+
shouldFetch: RequiredShouldFetch;
|
|
25
|
+
} & FetchOptions<TReadOutData>;
|
|
26
|
+
|
|
22
27
|
export type CheckResult =
|
|
23
28
|
| {
|
|
24
29
|
kind: 'EnoughData';
|
package/src/core/entrypoint.ts
CHANGED
|
@@ -33,7 +33,7 @@ export type IsographEntrypoint<
|
|
|
33
33
|
startUpdate?: StartUpdate<object>;
|
|
34
34
|
},
|
|
35
35
|
TClientFieldValue,
|
|
36
|
-
TNormalizationAst
|
|
36
|
+
TNormalizationAst extends NormalizationAst | NormalizationAstLoader,
|
|
37
37
|
> = {
|
|
38
38
|
readonly kind: 'Entrypoint';
|
|
39
39
|
readonly networkRequestInfo: NetworkRequestInfo<TNormalizationAst>;
|
|
@@ -55,7 +55,7 @@ export type IsographEntrypointLoader<
|
|
|
55
55
|
readonly kind: 'EntrypointLoader';
|
|
56
56
|
readonly typeAndField: string;
|
|
57
57
|
readonly loader: () => Promise<
|
|
58
|
-
IsographEntrypoint<TReadFromStore, TClientFieldValue>
|
|
58
|
+
IsographEntrypoint<TReadFromStore, TClientFieldValue, NormalizationAst>
|
|
59
59
|
>;
|
|
60
60
|
};
|
|
61
61
|
|
|
@@ -67,8 +67,13 @@ export type NormalizationAstNode =
|
|
|
67
67
|
export type NormalizationAstNodes = ReadonlyArray<NormalizationAstNode>;
|
|
68
68
|
|
|
69
69
|
export type NormalizationAst = {
|
|
70
|
-
kind: 'NormalizationAst';
|
|
71
|
-
selections: NormalizationAstNodes;
|
|
70
|
+
readonly kind: 'NormalizationAst';
|
|
71
|
+
readonly selections: NormalizationAstNodes;
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
export type NormalizationAstLoader = {
|
|
75
|
+
readonly kind: 'NormalizationAstLoader';
|
|
76
|
+
readonly loader: () => Promise<NormalizationAst>;
|
|
72
77
|
};
|
|
73
78
|
|
|
74
79
|
export type NormalizationScalarField = {
|
|
@@ -111,19 +116,24 @@ export function assertIsEntrypoint<
|
|
|
111
116
|
startUpdate?: StartUpdate<object>;
|
|
112
117
|
},
|
|
113
118
|
TClientFieldValue,
|
|
119
|
+
TNormalizationAst extends NormalizationAst | NormalizationAstLoader,
|
|
114
120
|
>(
|
|
115
121
|
value:
|
|
116
|
-
| IsographEntrypoint<TReadFromStore, TClientFieldValue>
|
|
122
|
+
| IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst>
|
|
117
123
|
| ((_: any) => any)
|
|
118
124
|
// Temporarily, allow any here. Once we automatically provide
|
|
119
125
|
// types to entrypoints, we probably don't need this.
|
|
120
126
|
| any,
|
|
121
|
-
): asserts value is IsographEntrypoint<
|
|
127
|
+
): asserts value is IsographEntrypoint<
|
|
128
|
+
TReadFromStore,
|
|
129
|
+
TClientFieldValue,
|
|
130
|
+
TNormalizationAst
|
|
131
|
+
> {
|
|
122
132
|
if (typeof value === 'function') throw new Error('Not a string');
|
|
123
133
|
}
|
|
124
134
|
|
|
125
135
|
export type ExtractReadFromStore<Type> =
|
|
126
|
-
Type extends IsographEntrypoint<infer X, any> ? X : never;
|
|
136
|
+
Type extends IsographEntrypoint<infer X, any, any> ? X : never;
|
|
127
137
|
export type ExtractResolverResult<Type> =
|
|
128
|
-
Type extends IsographEntrypoint<any, infer X> ? X : never;
|
|
138
|
+
Type extends IsographEntrypoint<any, infer X, any> ? X : never;
|
|
129
139
|
export type ExtractProps<Type> = Type extends React.FC<infer X> ? X : never;
|
package/src/core/logging.ts
CHANGED
|
@@ -5,6 +5,8 @@ import { getOrCreateCachedComponent } from './componentCache';
|
|
|
5
5
|
import {
|
|
6
6
|
IsographEntrypoint,
|
|
7
7
|
RefetchQueryNormalizationArtifact,
|
|
8
|
+
type NormalizationAst,
|
|
9
|
+
type NormalizationAstLoader,
|
|
8
10
|
} from './entrypoint';
|
|
9
11
|
import { ExtractParameters, type FragmentReference } from './FragmentReference';
|
|
10
12
|
import {
|
|
@@ -34,11 +36,12 @@ export function maybeMakeNetworkRequest<
|
|
|
34
36
|
startUpdate?: StartUpdate<object>;
|
|
35
37
|
},
|
|
36
38
|
TClientFieldValue,
|
|
39
|
+
TNormalizationAst extends NormalizationAst | NormalizationAstLoader,
|
|
37
40
|
>(
|
|
38
41
|
environment: IsographEnvironment,
|
|
39
42
|
artifact:
|
|
40
43
|
| RefetchQueryNormalizationArtifact
|
|
41
|
-
| IsographEntrypoint<TReadFromStore, TClientFieldValue>,
|
|
44
|
+
| IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst>,
|
|
42
45
|
variables: ExtractParameters<TReadFromStore>,
|
|
43
46
|
fetchOptions?: FetchOptions<TClientFieldValue>,
|
|
44
47
|
): ItemCleanupPair<PromiseWrapper<void, AnyError>> {
|
|
@@ -50,6 +53,14 @@ export function maybeMakeNetworkRequest<
|
|
|
50
53
|
return [wrapResolvedValue(undefined), () => {}];
|
|
51
54
|
}
|
|
52
55
|
case 'IfNecessary': {
|
|
56
|
+
if (
|
|
57
|
+
artifact.networkRequestInfo.normalizationAst.kind ===
|
|
58
|
+
'NormalizationAstLoader'
|
|
59
|
+
) {
|
|
60
|
+
throw new Error(
|
|
61
|
+
'Using lazy loaded normalizationAst with shouldFetch: "IfNecessary" is not supported as it will lead to slower initial load time.',
|
|
62
|
+
);
|
|
63
|
+
}
|
|
53
64
|
const result = check(
|
|
54
65
|
environment,
|
|
55
66
|
artifact.networkRequestInfo.normalizationAst.selections,
|
|
@@ -59,6 +70,7 @@ export function maybeMakeNetworkRequest<
|
|
|
59
70
|
__typename: artifact.concreteType,
|
|
60
71
|
},
|
|
61
72
|
);
|
|
73
|
+
|
|
62
74
|
if (result.kind === 'EnoughData') {
|
|
63
75
|
return [wrapResolvedValue(undefined), () => {}];
|
|
64
76
|
} else {
|
|
@@ -73,6 +85,19 @@ export function maybeMakeNetworkRequest<
|
|
|
73
85
|
}
|
|
74
86
|
}
|
|
75
87
|
|
|
88
|
+
function loadNormalizationAst(
|
|
89
|
+
normalizationAst: NormalizationAstLoader | NormalizationAst,
|
|
90
|
+
) {
|
|
91
|
+
switch (normalizationAst.kind) {
|
|
92
|
+
case 'NormalizationAst': {
|
|
93
|
+
return normalizationAst;
|
|
94
|
+
}
|
|
95
|
+
case 'NormalizationAstLoader': {
|
|
96
|
+
return normalizationAst.loader();
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
76
101
|
export function makeNetworkRequest<
|
|
77
102
|
TReadFromStore extends {
|
|
78
103
|
parameters: object;
|
|
@@ -80,11 +105,12 @@ export function makeNetworkRequest<
|
|
|
80
105
|
startUpdate?: StartUpdate<object>;
|
|
81
106
|
},
|
|
82
107
|
TClientFieldValue,
|
|
108
|
+
TNormalizationAst extends NormalizationAst | NormalizationAstLoader,
|
|
83
109
|
>(
|
|
84
110
|
environment: IsographEnvironment,
|
|
85
111
|
artifact:
|
|
86
112
|
| RefetchQueryNormalizationArtifact
|
|
87
|
-
| IsographEntrypoint<TReadFromStore, TClientFieldValue>,
|
|
113
|
+
| IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst>,
|
|
88
114
|
variables: ExtractParameters<TReadFromStore>,
|
|
89
115
|
fetchOptions?: FetchOptions<TClientFieldValue>,
|
|
90
116
|
): ItemCleanupPair<PromiseWrapper<void, AnyError>> {
|
|
@@ -103,9 +129,14 @@ export function makeNetworkRequest<
|
|
|
103
129
|
kind: 'UndisposedIncomplete',
|
|
104
130
|
};
|
|
105
131
|
// This should be an observable, not a promise
|
|
106
|
-
const promise =
|
|
107
|
-
.networkFunction(
|
|
108
|
-
|
|
132
|
+
const promise = Promise.all([
|
|
133
|
+
environment.networkFunction(
|
|
134
|
+
artifact.networkRequestInfo.queryText,
|
|
135
|
+
variables,
|
|
136
|
+
),
|
|
137
|
+
loadNormalizationAst(artifact.networkRequestInfo.normalizationAst),
|
|
138
|
+
])
|
|
139
|
+
.then(([networkResponse, normalizationAst]) => {
|
|
109
140
|
logMessage(environment, {
|
|
110
141
|
kind: 'ReceivedNetworkResponse',
|
|
111
142
|
networkResponse,
|
|
@@ -125,7 +156,7 @@ export function makeNetworkRequest<
|
|
|
125
156
|
if (status.kind === 'UndisposedIncomplete') {
|
|
126
157
|
normalizeData(
|
|
127
158
|
environment,
|
|
128
|
-
|
|
159
|
+
normalizationAst.selections,
|
|
129
160
|
networkResponse.data ?? {},
|
|
130
161
|
variables,
|
|
131
162
|
artifact.kind === 'Entrypoint'
|
|
@@ -134,8 +165,7 @@ export function makeNetworkRequest<
|
|
|
134
165
|
root,
|
|
135
166
|
);
|
|
136
167
|
const retainedQuery = {
|
|
137
|
-
normalizationAst:
|
|
138
|
-
artifact.networkRequestInfo.normalizationAst.selections,
|
|
168
|
+
normalizationAst: normalizationAst.selections,
|
|
139
169
|
variables,
|
|
140
170
|
root,
|
|
141
171
|
};
|
|
@@ -217,10 +247,11 @@ function readDataForOnComplete<
|
|
|
217
247
|
startUpdate?: StartUpdate<object>;
|
|
218
248
|
},
|
|
219
249
|
TClientFieldValue,
|
|
250
|
+
TNormalizationAst extends NormalizationAst | NormalizationAstLoader,
|
|
220
251
|
>(
|
|
221
252
|
artifact:
|
|
222
253
|
| RefetchQueryNormalizationArtifact
|
|
223
|
-
| IsographEntrypoint<TReadFromStore, TClientFieldValue>,
|
|
254
|
+
| IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst>,
|
|
224
255
|
environment: IsographEnvironment,
|
|
225
256
|
root: Link,
|
|
226
257
|
variables: ExtractParameters<TReadFromStore>,
|
package/src/core/read.ts
CHANGED
|
@@ -522,7 +522,7 @@ function readData<TReadFromStore>(
|
|
|
522
522
|
// Fetcher
|
|
523
523
|
() => {
|
|
524
524
|
const fragmentReferenceAndDisposeFromEntrypoint = (
|
|
525
|
-
entrypoint: IsographEntrypoint<any, any>,
|
|
525
|
+
entrypoint: IsographEntrypoint<any, any, any>,
|
|
526
526
|
): [FragmentReference<any, any>, CleanupFn] => {
|
|
527
527
|
const [networkRequest, disposeNetworkRequest] =
|
|
528
528
|
maybeMakeNetworkRequest(
|
package/src/core/reader.ts
CHANGED
package/src/index.ts
CHANGED
|
@@ -12,7 +12,7 @@ type IsExactlyIntrinsicAttributes<T> = T extends JSX.IntrinsicAttributes
|
|
|
12
12
|
|
|
13
13
|
export function FragmentReader<
|
|
14
14
|
TProps extends Record<any, any>,
|
|
15
|
-
TEntrypoint extends IsographEntrypoint<any, React.FC<TProps
|
|
15
|
+
TEntrypoint extends IsographEntrypoint<any, React.FC<TProps>, any>,
|
|
16
16
|
>(
|
|
17
17
|
props: IsExactlyIntrinsicAttributes<TProps> extends true
|
|
18
18
|
? {
|
|
@@ -2,8 +2,12 @@ import {
|
|
|
2
2
|
UNASSIGNED_STATE,
|
|
3
3
|
useUpdatableDisposableState,
|
|
4
4
|
} from '@isograph/react-disposable-state';
|
|
5
|
-
import { FetchOptions } from '../core/check';
|
|
6
|
-
import {
|
|
5
|
+
import { FetchOptions, type RequiredFetchOptions } from '../core/check';
|
|
6
|
+
import {
|
|
7
|
+
IsographEntrypoint,
|
|
8
|
+
type NormalizationAst,
|
|
9
|
+
type NormalizationAstLoader,
|
|
10
|
+
} from '../core/entrypoint';
|
|
7
11
|
import {
|
|
8
12
|
ExtractParameters,
|
|
9
13
|
FragmentReference,
|
|
@@ -14,25 +18,46 @@ import { wrapResolvedValue } from '../core/PromiseWrapper';
|
|
|
14
18
|
import type { StartUpdate } from '../core/reader';
|
|
15
19
|
import { useIsographEnvironment } from './IsographEnvironmentProvider';
|
|
16
20
|
|
|
17
|
-
|
|
21
|
+
type UseImperativeReferenceResult<
|
|
18
22
|
TReadFromStore extends {
|
|
19
23
|
parameters: object;
|
|
20
24
|
data: object;
|
|
21
25
|
startUpdate?: StartUpdate<object>;
|
|
22
26
|
},
|
|
23
27
|
TClientFieldValue,
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
): {
|
|
28
|
+
TNormalizationAst extends NormalizationAst | NormalizationAstLoader,
|
|
29
|
+
> = {
|
|
27
30
|
fragmentReference: FragmentReference<
|
|
28
31
|
TReadFromStore,
|
|
29
32
|
TClientFieldValue
|
|
30
33
|
> | null;
|
|
31
34
|
loadFragmentReference: (
|
|
32
35
|
variables: ExtractParameters<TReadFromStore>,
|
|
33
|
-
fetchOptions
|
|
36
|
+
...[fetchOptions]: NormalizationAstLoader extends TNormalizationAst
|
|
37
|
+
? [fetchOptions: RequiredFetchOptions<TClientFieldValue>]
|
|
38
|
+
: [fetchOptions?: FetchOptions<TClientFieldValue>]
|
|
34
39
|
) => void;
|
|
35
|
-
}
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
export function useImperativeReference<
|
|
43
|
+
TReadFromStore extends {
|
|
44
|
+
parameters: object;
|
|
45
|
+
data: object;
|
|
46
|
+
startUpdate?: StartUpdate<object>;
|
|
47
|
+
},
|
|
48
|
+
TClientFieldValue,
|
|
49
|
+
TNormalizationAst extends NormalizationAst | NormalizationAstLoader,
|
|
50
|
+
>(
|
|
51
|
+
entrypoint: IsographEntrypoint<
|
|
52
|
+
TReadFromStore,
|
|
53
|
+
TClientFieldValue,
|
|
54
|
+
TNormalizationAst
|
|
55
|
+
>,
|
|
56
|
+
): UseImperativeReferenceResult<
|
|
57
|
+
TReadFromStore,
|
|
58
|
+
TClientFieldValue,
|
|
59
|
+
TNormalizationAst
|
|
60
|
+
> {
|
|
36
61
|
const { state, setState } =
|
|
37
62
|
useUpdatableDisposableState<
|
|
38
63
|
FragmentReference<TReadFromStore, TClientFieldValue>
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { useLazyDisposableState } from '@isograph/react-disposable-state';
|
|
2
2
|
import { getOrCreateCacheForArtifact } from '../core/cache';
|
|
3
|
-
import { FetchOptions } from '../core/check';
|
|
4
|
-
import {
|
|
3
|
+
import { FetchOptions, type RequiredFetchOptions } from '../core/check';
|
|
4
|
+
import {
|
|
5
|
+
IsographEntrypoint,
|
|
6
|
+
type NormalizationAst,
|
|
7
|
+
type NormalizationAstLoader,
|
|
8
|
+
} from '../core/entrypoint';
|
|
5
9
|
import {
|
|
6
10
|
ExtractParameters,
|
|
7
11
|
FragmentReference,
|
|
@@ -17,13 +21,22 @@ export function useLazyReference<
|
|
|
17
21
|
startUpdate?: StartUpdate<object>;
|
|
18
22
|
},
|
|
19
23
|
TClientFieldValue,
|
|
24
|
+
TNormalizationAst extends NormalizationAst | NormalizationAstLoader,
|
|
20
25
|
>(
|
|
21
|
-
entrypoint: IsographEntrypoint<
|
|
26
|
+
entrypoint: IsographEntrypoint<
|
|
27
|
+
TReadFromStore,
|
|
28
|
+
TClientFieldValue,
|
|
29
|
+
TNormalizationAst
|
|
30
|
+
>,
|
|
22
31
|
variables: ExtractParameters<TReadFromStore>,
|
|
23
|
-
fetchOptions
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
32
|
+
...[fetchOptions]: TNormalizationAst extends NormalizationAstLoader
|
|
33
|
+
? [fetchOptions: RequiredFetchOptions<TClientFieldValue>]
|
|
34
|
+
: [fetchOptions?: FetchOptions<TClientFieldValue>]
|
|
35
|
+
): NormalizationAst | NormalizationAstLoader extends TNormalizationAst
|
|
36
|
+
? unknown
|
|
37
|
+
: {
|
|
38
|
+
fragmentReference: FragmentReference<TReadFromStore, TClientFieldValue>;
|
|
39
|
+
} {
|
|
27
40
|
const environment = useIsographEnvironment();
|
|
28
41
|
|
|
29
42
|
if (entrypoint?.kind !== 'Entrypoint') {
|
|
@@ -45,3 +58,37 @@ export function useLazyReference<
|
|
|
45
58
|
fragmentReference: useLazyDisposableState(cache).state,
|
|
46
59
|
};
|
|
47
60
|
}
|
|
61
|
+
|
|
62
|
+
// @ts-ignore
|
|
63
|
+
function tsTests() {
|
|
64
|
+
let withAst!: IsographEntrypoint<any, unknown, NormalizationAst>;
|
|
65
|
+
let withAstLoader!: IsographEntrypoint<any, unknown, NormalizationAstLoader>;
|
|
66
|
+
let withAstOrLoader!: IsographEntrypoint<
|
|
67
|
+
any,
|
|
68
|
+
unknown,
|
|
69
|
+
NormalizationAst | NormalizationAstLoader
|
|
70
|
+
>;
|
|
71
|
+
|
|
72
|
+
useLazyReference(withAst, {}) satisfies {};
|
|
73
|
+
useLazyReference(withAst, {}, { shouldFetch: 'Yes' }) satisfies {};
|
|
74
|
+
useLazyReference(withAst, {}, { shouldFetch: 'IfNecessary' }) satisfies {};
|
|
75
|
+
|
|
76
|
+
// @ts-expect-error if there's no ast, require `shouldFetch` to be specified
|
|
77
|
+
useLazyReference(withAstLoader, {});
|
|
78
|
+
useLazyReference(withAstLoader, {}, { shouldFetch: 'Yes' }) satisfies {};
|
|
79
|
+
// @ts-expect-error if there's no ast, `shouldFetch` can't be `IfNecessary`
|
|
80
|
+
useLazyReference(withAstLoader, {}, { shouldFetch: 'IfNecessary' });
|
|
81
|
+
|
|
82
|
+
// if the type is unknown there can be no ast so we should use the same rules
|
|
83
|
+
// but because of TS bugs with inference we just return unknown
|
|
84
|
+
// @ts-expect-error this returns unknown which doesn't satisfy the constraint
|
|
85
|
+
useLazyReference(withAstOrLoader, {}) satisfies {};
|
|
86
|
+
// @ts-expect-error this returns unknown which doesn't satisfy the constraint
|
|
87
|
+
useLazyReference(withAstOrLoader, {}, { shouldFetch: 'Yes' }) satisfies {};
|
|
88
|
+
useLazyReference(
|
|
89
|
+
withAstOrLoader,
|
|
90
|
+
{},
|
|
91
|
+
{ shouldFetch: 'IfNecessary' },
|
|
92
|
+
// @ts-expect-error this returns unknown which doesn't satisfy the constraint
|
|
93
|
+
) satisfies {};
|
|
94
|
+
}
|
|
@@ -74,7 +74,8 @@ const normalizationAst: NormalizationAst = {
|
|
|
74
74
|
};
|
|
75
75
|
const artifact: IsographEntrypoint<
|
|
76
76
|
Query__meNameSuccessor__param,
|
|
77
|
-
Query__meNameSuccessor__output_type
|
|
77
|
+
Query__meNameSuccessor__output_type,
|
|
78
|
+
NormalizationAst
|
|
78
79
|
> = {
|
|
79
80
|
kind: "Entrypoint",
|
|
80
81
|
networkRequestInfo: {
|
|
@@ -41,7 +41,8 @@ const normalizationAst: NormalizationAst = {
|
|
|
41
41
|
};
|
|
42
42
|
const artifact: IsographEntrypoint<
|
|
43
43
|
Query__nodeField__param,
|
|
44
|
-
Query__nodeField__output_type
|
|
44
|
+
Query__nodeField__output_type,
|
|
45
|
+
NormalizationAst
|
|
45
46
|
> = {
|
|
46
47
|
kind: "Entrypoint",
|
|
47
48
|
networkRequestInfo: {
|
|
@@ -51,7 +51,8 @@ const normalizationAst: NormalizationAst = {
|
|
|
51
51
|
};
|
|
52
52
|
const artifact: IsographEntrypoint<
|
|
53
53
|
Query__subquery__param,
|
|
54
|
-
Query__subquery__output_type
|
|
54
|
+
Query__subquery__output_type,
|
|
55
|
+
NormalizationAst
|
|
55
56
|
> = {
|
|
56
57
|
kind: "Entrypoint",
|
|
57
58
|
networkRequestInfo: {
|
|
@@ -91,7 +91,7 @@ export function iso<T>(
|
|
|
91
91
|
export function iso(_isographLiteralText: string):
|
|
92
92
|
| IdentityWithParam<any>
|
|
93
93
|
| IdentityWithParamComponent<any>
|
|
94
|
-
| IsographEntrypoint<any, any>
|
|
94
|
+
| IsographEntrypoint<any, any, any>
|
|
95
95
|
{
|
|
96
96
|
throw new Error('iso: Unexpected invocation at runtime. Either the Babel transform ' +
|
|
97
97
|
'was not set up, or it failed to identify this call site. Make sure it ' +
|