@isograph/react 0.0.0-main-76ed27b2 → 0.0.0-main-db159ebc

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.
Files changed (49) hide show
  1. package/.turbo/turbo-compile-libs.log +1 -1
  2. package/dist/core/IsographEnvironment.d.ts +2 -2
  3. package/dist/core/IsographEnvironment.d.ts.map +1 -1
  4. package/dist/core/brand.d.ts +17 -0
  5. package/dist/core/brand.d.ts.map +1 -1
  6. package/dist/core/cache.d.ts +6 -5
  7. package/dist/core/cache.d.ts.map +1 -1
  8. package/dist/core/cache.js +17 -2
  9. package/dist/core/entrypoint.d.ts +13 -6
  10. package/dist/core/entrypoint.d.ts.map +1 -1
  11. package/dist/core/logging.d.ts +1 -1
  12. package/dist/core/logging.d.ts.map +1 -1
  13. package/dist/core/makeNetworkRequest.d.ts +3 -2
  14. package/dist/core/makeNetworkRequest.d.ts.map +1 -1
  15. package/dist/core/reader.d.ts +1 -1
  16. package/dist/core/reader.d.ts.map +1 -1
  17. package/dist/index.d.ts +1 -1
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +2 -1
  20. package/dist/react/FragmentReader.d.ts +2 -1
  21. package/dist/react/FragmentReader.d.ts.map +1 -1
  22. package/dist/react/FragmentRenderer.d.ts +2 -1
  23. package/dist/react/FragmentRenderer.d.ts.map +1 -1
  24. package/dist/react/useImperativeReference.d.ts +2 -1
  25. package/dist/react/useImperativeReference.d.ts.map +1 -1
  26. package/dist/react/useLazyReference.d.ts +2 -1
  27. package/dist/react/useLazyReference.d.ts.map +1 -1
  28. package/package.json +4 -4
  29. package/src/core/IsographEnvironment.ts +3 -3
  30. package/src/core/brand.ts +18 -0
  31. package/src/core/cache.ts +57 -10
  32. package/src/core/entrypoint.ts +27 -5
  33. package/src/core/logging.ts +1 -1
  34. package/src/core/makeNetworkRequest.ts +39 -15
  35. package/src/core/read.ts +1 -1
  36. package/src/core/reader.ts +2 -2
  37. package/src/index.ts +1 -0
  38. package/src/react/FragmentReader.tsx +3 -1
  39. package/src/react/FragmentRenderer.tsx +8 -1
  40. package/src/react/useImperativeReference.ts +4 -1
  41. package/src/react/useLazyReference.ts +16 -5
  42. package/src/tests/__isograph/Query/linkedUpdate/entrypoint.ts +3 -1
  43. package/src/tests/__isograph/Query/meName/entrypoint.ts +3 -1
  44. package/src/tests/__isograph/Query/meNameSuccessor/entrypoint.ts +3 -1
  45. package/src/tests/__isograph/Query/nodeField/entrypoint.ts +3 -1
  46. package/src/tests/__isograph/Query/normalizeUndefinedField/entrypoint.ts +3 -1
  47. package/src/tests/__isograph/Query/startUpdate/entrypoint.ts +3 -1
  48. package/src/tests/__isograph/Query/subquery/entrypoint.ts +3 -1
  49. package/src/tests/__isograph/iso.ts +1 -1
@@ -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-76ed27b2 compile-libs /home/runner/work/isograph/isograph/libs/isograph-react
3
+ > @isograph/react@0.0.0-main-db159ebc compile-libs /home/runner/work/isograph/isograph/libs/isograph-react
4
4
  > rimraf dist && tsc -p tsconfig.pkg.json
5
5
 
@@ -43,7 +43,7 @@ export type IsographEnvironment = {
43
43
  readonly eagerReaderCache: FieldCache<StartUpdate<any> | undefined>;
44
44
  readonly subscriptions: Subscriptions;
45
45
  readonly fragmentCache: CacheMap<FragmentReference<any, any>>;
46
- readonly entrypointArtifactCache: Map<string, PromiseWrapper<IsographEntrypoint<any, any, any>>>;
46
+ readonly entrypointArtifactCache: Map<string, PromiseWrapper<IsographEntrypoint<any, any, any, any>>>;
47
47
  readonly retainedQueries: Set<RetainedQuery>;
48
48
  readonly gcBuffer: Array<RetainedQuery>;
49
49
  readonly gcBufferSize: number;
@@ -83,5 +83,5 @@ export declare function createIsographEnvironment(baseStoreLayerData: BaseStoreL
83
83
  export declare function createIsographStore(): BaseStoreLayerData;
84
84
  export declare function assertLink(link: DataTypeValue): StoreLink | null | undefined;
85
85
  export declare function getLink(maybeLink: DataTypeValue): StoreLink | null;
86
- export declare function getOrLoadIsographArtifact(environment: IsographEnvironment, key: string, loader: () => Promise<IsographEntrypoint<any, any, any>>): PromiseWrapper<IsographEntrypoint<any, any, any>>;
86
+ export declare function getOrLoadIsographArtifact(environment: IsographEnvironment, key: string, loader: () => Promise<IsographEntrypoint<any, any, any, any>>): PromiseWrapper<IsographEntrypoint<any, any, any, any>>;
87
87
  //# sourceMappingURL=IsographEnvironment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IsographEnvironment.d.ts","sourceRoot":"","sources":["../../src/core/IsographEnvironment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IsographEnvironment.d.ts","sourceRoot":"","sources":["../../src/core/IsographEnvironment.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,19 @@
1
1
  export type Brand<BaseType, Brand extends symbol | string> = infer _ extends Brand ? BaseType : never;
2
+ declare const PhantomDataBrand: unique symbol;
3
+ /**
4
+ * A phantom data type is one that shouldn't show up at runtime, but is checked statically (and only) at compile time.
5
+ * Data types can use extra properties to act as markers or to perform type checking at compile time. These extra properties should hold no storage values, and have no runtime behavior.
6
+ *
7
+ * ```tsx
8
+ * type MyType<T> = {
9
+ * readonly value: number;
10
+ * readonly '~T'?: PhantomData<T>;
11
+ * }
12
+ * ```
13
+ */
14
+ export type PhantomData<T> = Brand<T, typeof PhantomDataBrand>;
15
+ export type Invariant<T> = (_: T) => T;
16
+ export type Covariant<T> = (_: never) => T;
17
+ export type Contravariant<T> = (_: T) => void;
18
+ export {};
2
19
  //# sourceMappingURL=brand.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"brand.d.ts","sourceRoot":"","sources":["../../src/core/brand.ts"],"names":[],"mappings":"AAaA,MAAM,MAAM,KAAK,CACf,QAAQ,EACR,KAAK,SAAS,MAAM,GAAG,MAAM,IAE3B,MAAM,CAAC,SAAS,KAAK,GAAG,QAAQ,GAAG,KAAK,CAAC"}
1
+ {"version":3,"file":"brand.d.ts","sourceRoot":"","sources":["../../src/core/brand.ts"],"names":[],"mappings":"AAaA,MAAM,MAAM,KAAK,CACf,QAAQ,EACR,KAAK,SAAS,MAAM,GAAG,MAAM,IAE3B,MAAM,CAAC,SAAS,KAAK,GAAG,QAAQ,GAAG,KAAK,CAAC;AAE7C,OAAO,CAAC,MAAM,gBAAgB,EAAE,OAAO,MAAM,CAAC;AAC9C;;;;;;;;;;GAUG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,OAAO,gBAAgB,CAAC,CAAC;AAE/D,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AACvC,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC;AAC3C,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC"}
@@ -14,13 +14,13 @@ export declare function getOrCreateItemInSuspenseCache<TReadFromStore extends Un
14
14
  * results.
15
15
  */
16
16
  export declare function stableCopy<T>(value: T): T;
17
- export declare function getOrCreateCacheForArtifact<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue, TNormalizationAst extends NormalizationAst | NormalizationAstLoader>(environment: IsographEnvironment, entrypoint: IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst>, variables: ExtractParameters<TReadFromStore>, fetchOptions?: FetchOptions<TClientFieldValue>): ParentCache<FragmentReference<TReadFromStore, TClientFieldValue>>;
17
+ export declare function getOrCreateCacheForArtifact<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue, TNormalizationAst extends NormalizationAst | NormalizationAstLoader, TRawResponseType extends NetworkResponseObject>(environment: IsographEnvironment, entrypoint: IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst, TRawResponseType>, variables: ExtractParameters<TReadFromStore>, fetchOptions?: FetchOptions<TClientFieldValue>): ParentCache<FragmentReference<TReadFromStore, TClientFieldValue>>;
18
18
  export type NetworkResponseScalarValue = string | number | boolean;
19
- export type NetworkResponseValue = NetworkResponseScalarValue | null | NetworkResponseObject | (NetworkResponseObject | null)[] | (NetworkResponseScalarValue | null)[];
19
+ export type NetworkResponseValue = NetworkResponseScalarValue | null | NetworkResponseObject | readonly (NetworkResponseObject | null)[] | readonly (NetworkResponseScalarValue | null)[];
20
20
  export type NetworkResponseObject = {
21
- [index: string]: undefined | NetworkResponseValue;
22
- id?: DataId;
23
- __typename?: TypeName;
21
+ readonly [index: string]: undefined | NetworkResponseValue;
22
+ readonly id?: DataId;
23
+ readonly __typename?: TypeName;
24
24
  };
25
25
  export declare function normalizeData(environment: IsographEnvironment, storeLayer: StoreLayerWithData, normalizationAst: NormalizationAstNodes, networkResponse: NetworkResponseObject, variables: Variables, root: StoreLink, encounteredIds: EncounteredIds): EncounteredIds;
26
26
  export declare function subscribeToAnyChange(environment: IsographEnvironment, callback: () => void): () => void;
@@ -34,4 +34,5 @@ export declare function getParentRecordKey(astNode: NormalizationLinkedField | N
34
34
  export declare const FIRST_SPLIT_KEY = "____";
35
35
  export declare const SECOND_SPLIT_KEY = "___";
36
36
  export declare const THIRD_SPLIT_KEY = "__";
37
+ export declare function writeData<TReadFromStore extends UnknownTReadFromStore, TRawResponseType extends NetworkResponseObject>(environment: IsographEnvironment, entrypoint: IsographEntrypoint<TReadFromStore, unknown, NormalizationAst, TRawResponseType>, data: TRawResponseType, variables: ExtractParameters<TReadFromStore>): void;
37
38
  //# sourceMappingURL=cache.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/core/cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/core/cache.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ exports.onNextChangeToRecord = onNextChangeToRecord;
12
12
  exports.callSubscriptions = callSubscriptions;
13
13
  exports.insertEmptySetIfMissing = insertEmptySetIfMissing;
14
14
  exports.getParentRecordKey = getParentRecordKey;
15
+ exports.writeData = writeData;
15
16
  const react_disposable_state_1 = require("@isograph/react-disposable-state");
16
17
  const areEqualWithDeepComparison_1 = require("./areEqualWithDeepComparison");
17
18
  const IsographEnvironment_1 = require("./IsographEnvironment");
@@ -295,13 +296,16 @@ function normalizeScalarField(astNode, networkResponseParentRecord, targetStoreR
295
296
  return existingValue !== null;
296
297
  }
297
298
  if (isScalarOrEmptyArray(networkResponseData)) {
298
- targetStoreRecord[parentRecordKey] = networkResponseData;
299
+ targetStoreRecord[parentRecordKey] = networkResponseData; // have to cast array to mutable
299
300
  return existingValue !== networkResponseData;
300
301
  }
301
302
  else {
302
303
  throw new Error('Unexpected object array when normalizing scalar');
303
304
  }
304
305
  }
306
+ function isArray(value) {
307
+ return Array.isArray(value);
308
+ }
305
309
  /**
306
310
  * Mutate targetParentRecord with a given linked field ast node.
307
311
  */
@@ -319,7 +323,7 @@ function normalizeLinkedField(environment, storeLayer, astNode, networkResponseP
319
323
  !isNullOrEmptyArray(networkResponseData)) {
320
324
  throw new Error('Unexpected scalar network response when normalizing a linked field');
321
325
  }
322
- if (Array.isArray(networkResponseData)) {
326
+ if (isArray(networkResponseData)) {
323
327
  // TODO check astNode.plural or the like
324
328
  const dataIds = [];
325
329
  for (let i = 0; i < networkResponseData.length; i++) {
@@ -547,3 +551,14 @@ function getDataIdOfNetworkResponse(parentRecordLink, dataToNormalize, astNode,
547
551
  }
548
552
  return storeKey;
549
553
  }
554
+ function writeData(environment, entrypoint, data, variables) {
555
+ const encounteredIds = new Map();
556
+ environment.store = (0, optimisticProxy_1.addNetworkResponseStoreLayer)(environment.store);
557
+ normalizeData(environment, environment.store, entrypoint.networkRequestInfo.normalizationAst.selections, data, variables, { __link: IsographEnvironment_1.ROOT_ID, __typename: entrypoint.concreteType }, encounteredIds);
558
+ (0, logging_1.logMessage)(environment, () => ({
559
+ kind: 'AfterNormalization',
560
+ store: environment.store,
561
+ encounteredIds,
562
+ }));
563
+ callSubscriptions(environment, encounteredIds);
564
+ }
@@ -1,3 +1,5 @@
1
+ import type { Contravariant, PhantomData } from './brand';
2
+ import type { NetworkResponseObject } from './cache';
1
3
  import type { UnknownTReadFromStore } from './FragmentReference';
2
4
  import type { TypeName } from './IsographEnvironment';
3
5
  import { TopLevelReaderArtifact } from './reader';
@@ -30,16 +32,20 @@ export type IsographPersistedOperationExtraInfo = {
30
32
  readonly operationName: string | null;
31
33
  readonly operationKind: 'Query' | 'Mutation' | 'Subscription';
32
34
  };
33
- export type IsographEntrypoint<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue, TNormalizationAst extends NormalizationAst | NormalizationAstLoader> = {
35
+ export type IsographEntrypoint<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue, TNormalizationAst extends NormalizationAst | NormalizationAstLoader, TRawResponseType extends NetworkResponseObject> = {
34
36
  readonly kind: 'Entrypoint';
35
37
  readonly networkRequestInfo: NetworkRequestInfo<TNormalizationAst>;
36
38
  readonly readerWithRefetchQueries: ReaderWithRefetchQueries<TReadFromStore, TClientFieldValue> | ReaderWithRefetchQueriesLoader<TReadFromStore, TClientFieldValue>;
37
39
  readonly concreteType: TypeName;
40
+ /**
41
+ * This field exists solely for typechecking, and will not exist at runtime.
42
+ */
43
+ readonly '~TRawResponseType'?: PhantomData<Contravariant<TRawResponseType>>;
38
44
  };
39
- export type IsographEntrypointLoader<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue> = {
45
+ export type IsographEntrypointLoader<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue, TRawResponseType extends NetworkResponseObject> = {
40
46
  readonly kind: 'EntrypointLoader';
41
47
  readonly typeAndField: string;
42
- readonly loader: () => Promise<IsographEntrypoint<TReadFromStore, TClientFieldValue, NormalizationAst>>;
48
+ readonly loader: () => Promise<IsographEntrypoint<TReadFromStore, TClientFieldValue, NormalizationAst, TRawResponseType>>;
43
49
  };
44
50
  export type NormalizationAstNode = NormalizationScalarField | NormalizationLinkedField | NormalizationInlineFragment;
45
51
  export type NormalizationAstNodes = ReadonlyArray<NormalizationAstNode>;
@@ -77,8 +83,9 @@ export type RefetchQueryNormalizationArtifactWrapper = {
77
83
  readonly artifact: RefetchQueryNormalizationArtifact;
78
84
  readonly allowedVariables: string[];
79
85
  };
80
- export declare function assertIsEntrypoint<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue, TNormalizationAst extends NormalizationAst | NormalizationAstLoader>(value: IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst> | ((_: any) => any) | any): asserts value is IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst>;
81
- export type ExtractReadFromStore<Type> = Type extends IsographEntrypoint<infer X, any, any> ? X : never;
82
- export type ExtractResolverResult<Type> = Type extends IsographEntrypoint<any, infer X, any> ? X : never;
86
+ export declare function assertIsEntrypoint<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue, TNormalizationAst extends NormalizationAst | NormalizationAstLoader, TRawResponseType extends NetworkResponseObject>(value: IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst, TRawResponseType> | ((_: any) => any) | any): asserts value is IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst, TRawResponseType>;
87
+ export type ExtractReadFromStore<Type> = Type extends IsographEntrypoint<infer X, any, any, any> ? X : never;
88
+ export type ExtractRawResponseType<Type> = Type extends IsographEntrypoint<any, any, any, infer X> ? X : never;
89
+ export type ExtractResolverResult<Type> = Type extends IsographEntrypoint<any, infer X, any, any> ? X : never;
83
90
  export type ExtractProps<Type> = Type extends React.FC<infer X> ? X : never;
84
91
  //# sourceMappingURL=entrypoint.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"entrypoint.d.ts","sourceRoot":"","sources":["../../src/core/entrypoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entrypoint.d.ts","sourceRoot":"","sources":["../../src/core/entrypoint.ts"],"names":[],"mappings":"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"}
@@ -28,7 +28,7 @@ export type LogMessage = {
28
28
  rootLink: StoreLink;
29
29
  } | {
30
30
  kind: 'MakeNetworkRequest';
31
- artifact: RefetchQueryNormalizationArtifact | IsographEntrypoint<any, any, any>;
31
+ artifact: RefetchQueryNormalizationArtifact | IsographEntrypoint<any, any, any, any>;
32
32
  variables: Variables;
33
33
  networkRequestId: string;
34
34
  } | {
@@ -1 +1 @@
1
- {"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../src/core/logging.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../src/core/logging.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  import { ItemCleanupPair } from '@isograph/disposable-types';
2
+ import { type NetworkResponseObject } from './cache';
2
3
  import { FetchOptions } from './check';
3
4
  import { IsographEntrypoint, ReaderWithRefetchQueries, RefetchQueryNormalizationArtifact, type NormalizationAst, type NormalizationAstLoader } from './entrypoint';
4
5
  import { ExtractParameters, type UnknownTReadFromStore } from './FragmentReference';
5
6
  import { IsographEnvironment } from './IsographEnvironment';
6
7
  import { AnyError, PromiseWrapper } from './PromiseWrapper';
7
- export declare function maybeMakeNetworkRequest<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue, TArtifact extends RefetchQueryNormalizationArtifact | IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst>, TNormalizationAst extends NormalizationAst | NormalizationAstLoader>(environment: IsographEnvironment, artifact: TArtifact, variables: ExtractParameters<TReadFromStore>, readerWithRefetchQueries: PromiseWrapper<ReaderWithRefetchQueries<TReadFromStore, TClientFieldValue>> | null, fetchOptions: FetchOptions<TClientFieldValue> | null): ItemCleanupPair<PromiseWrapper<void, AnyError>>;
8
- export declare function makeNetworkRequest<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue, TArtifact extends RefetchQueryNormalizationArtifact | IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst>, TNormalizationAst extends NormalizationAst | NormalizationAstLoader>(environment: IsographEnvironment, artifact: TArtifact, variables: ExtractParameters<TReadFromStore>, readerWithRefetchQueries: PromiseWrapper<ReaderWithRefetchQueries<TReadFromStore, TClientFieldValue>> | null, fetchOptions: FetchOptions<TClientFieldValue> | null): ItemCleanupPair<PromiseWrapper<void, AnyError>>;
8
+ export declare function maybeMakeNetworkRequest<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue, TNormalizationAst extends NormalizationAst | NormalizationAstLoader, TRawResponseType extends NetworkResponseObject>(environment: IsographEnvironment, artifact: RefetchQueryNormalizationArtifact | IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst, TRawResponseType>, variables: ExtractParameters<TReadFromStore>, readerWithRefetchQueries: PromiseWrapper<ReaderWithRefetchQueries<TReadFromStore, TClientFieldValue>> | null, fetchOptions: FetchOptions<TClientFieldValue> | null): ItemCleanupPair<PromiseWrapper<void, AnyError>>;
9
+ export declare function makeNetworkRequest<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue, TNormalizationAst extends NormalizationAst | NormalizationAstLoader, TRawResponseType extends NetworkResponseObject>(environment: IsographEnvironment, artifact: RefetchQueryNormalizationArtifact | IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst, TRawResponseType>, variables: ExtractParameters<TReadFromStore>, readerWithRefetchQueries: PromiseWrapper<ReaderWithRefetchQueries<TReadFromStore, TClientFieldValue>> | null, fetchOptions: FetchOptions<TClientFieldValue> | null): ItemCleanupPair<PromiseWrapper<void, AnyError>>;
9
10
  //# 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,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"}
1
+ {"version":3,"file":"makeNetworkRequest.d.ts","sourceRoot":"","sources":["../../src/core/makeNetworkRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAIL,KAAK,qBAAqB,EAC3B,MAAM,SAAS,CAAC;AACjB,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,iBAAiB,SAAS,gBAAgB,GAAG,sBAAsB,EACnE,gBAAgB,SAAS,qBAAqB,EAE9C,WAAW,EAAE,mBAAmB,EAChC,QAAQ,EACJ,iCAAiC,GACjC,kBAAkB,CAChB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,CACjB,EACL,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;AAuCD,wBAAgB,kBAAkB,CAChC,cAAc,SAAS,qBAAqB,EAC5C,iBAAiB,EACjB,iBAAiB,SAAS,gBAAgB,GAAG,sBAAsB,EACnE,gBAAgB,SAAS,qBAAqB,EAE9C,WAAW,EAAE,mBAAmB,EAChC,QAAQ,EACJ,iCAAiC,GACjC,kBAAkB,CAChB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,CACjB,EACL,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"}
@@ -81,7 +81,7 @@ export type LoadablySelectedField = {
81
81
  readonly name: string;
82
82
  readonly queryArguments: Arguments | null;
83
83
  readonly refetchReaderAst: ReaderAst<any>;
84
- readonly entrypoint: IsographEntrypoint<any, any, any> | IsographEntrypointLoader<any, any>;
84
+ readonly entrypoint: IsographEntrypoint<any, any, any, any> | IsographEntrypointLoader<any, any, any>;
85
85
  };
86
86
  export type StableId = string;
87
87
  export type LoadableField<TReadFromStore extends UnknownTReadFromStore, TResult, TArgs = ExtractParameters<TReadFromStore>> = (args: TArgs | void, fetchOptions: FetchOptions<TResult>) => [StableId, Factory<FragmentReference<TReadFromStore, TResult>>];
@@ -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
@@ -1,6 +1,6 @@
1
1
  export { retainQuery, unretainQuery, type RetainedQuery, garbageCollectEnvironment, type DidUnretainSomeQuery, } from './core/garbageCollection';
2
2
  export { type PromiseWrapper, readPromise, getPromiseState, wrapResolvedValue, wrapPromise, type PromiseState, type Result, type AnyError, type NotSet, NOT_SET, } from './core/PromiseWrapper';
3
- export { callSubscriptions, subscribe, normalizeData, type NetworkResponseObject, type NetworkResponseValue, type NetworkResponseScalarValue, type EncounteredIds, } from './core/cache';
3
+ export { callSubscriptions, subscribe, normalizeData, writeData, type NetworkResponseObject, type NetworkResponseValue, type NetworkResponseScalarValue, type EncounteredIds, } from './core/cache';
4
4
  export { makeNetworkRequest } from './core/makeNetworkRequest';
5
5
  export { ROOT_ID, type DataId, type DataTypeValue, type IsographEnvironment, type IsographNetworkFunction, type BaseStoreLayerData as IsographStore, type MissingFieldHandler, type StoreLink, type Link, type StoreRecord, type CacheMap, createIsographEnvironment, createIsographStore, type FieldCache, type Subscriptions, type Subscription, type TypeName, type FragmentSubscription, type AnyChangesToRecordSubscription, type AnyRecordSubscription, type ComponentOrFieldName, type StringifiedArgs, } from './core/IsographEnvironment';
6
6
  export { type EagerReaderArtifact, type ComponentReaderArtifact, type RefetchReaderArtifact, type ReaderAst, type ReaderAstNode, type ReaderLinkedField, type ReaderNonLoadableResolverField, type ReaderScalarField, type TopLevelReaderArtifact, type LoadableField, type StableId, type ResolverFirstParameter, type ReaderImperativelyLoadedField, type LoadablySelectedField as ReaderLoadableField, type ReaderLinkField, type StartUpdate, } from './core/reader';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useImperativeLoadableField = exports.useConnectionSpecPagination = exports.useSkipLimitPagination = exports.useImperativeExposedMutationField = exports.useClientSideDefer = exports.RenderAfterCommit__DO_NOT_USE = exports.useRerenderOnChange = exports.useLazyReference = exports.useSubscribeToMultiple = exports.useReadAndSubscribe = exports.useResult = exports.LoadableFieldRenderer = exports.LoadableFieldReader = exports.FragmentReader = exports.FragmentRenderer = exports.useImperativeReference = exports.useIsographEnvironment = exports.IsographEnvironmentProvider = exports.check = exports.registerLogger = exports.logMessage = exports.stableIdForFragmentReference = exports.readButDoNotEvaluate = exports.assertIsEntrypoint = exports.createIsographStore = exports.createIsographEnvironment = exports.ROOT_ID = exports.makeNetworkRequest = exports.normalizeData = exports.subscribe = exports.callSubscriptions = exports.NOT_SET = exports.wrapPromise = exports.wrapResolvedValue = exports.getPromiseState = exports.readPromise = exports.garbageCollectEnvironment = exports.unretainQuery = exports.retainQuery = void 0;
3
+ exports.useImperativeLoadableField = exports.useConnectionSpecPagination = exports.useSkipLimitPagination = exports.useImperativeExposedMutationField = exports.useClientSideDefer = exports.RenderAfterCommit__DO_NOT_USE = exports.useRerenderOnChange = exports.useLazyReference = exports.useSubscribeToMultiple = exports.useReadAndSubscribe = exports.useResult = exports.LoadableFieldRenderer = exports.LoadableFieldReader = exports.FragmentReader = exports.FragmentRenderer = exports.useImperativeReference = exports.useIsographEnvironment = exports.IsographEnvironmentProvider = exports.check = exports.registerLogger = exports.logMessage = exports.stableIdForFragmentReference = exports.readButDoNotEvaluate = exports.assertIsEntrypoint = exports.createIsographStore = exports.createIsographEnvironment = exports.ROOT_ID = exports.makeNetworkRequest = exports.writeData = exports.normalizeData = exports.subscribe = exports.callSubscriptions = exports.NOT_SET = exports.wrapPromise = exports.wrapResolvedValue = exports.getPromiseState = exports.readPromise = exports.garbageCollectEnvironment = exports.unretainQuery = exports.retainQuery = void 0;
4
4
  var garbageCollection_1 = require("./core/garbageCollection");
5
5
  Object.defineProperty(exports, "retainQuery", { enumerable: true, get: function () { return garbageCollection_1.retainQuery; } });
6
6
  Object.defineProperty(exports, "unretainQuery", { enumerable: true, get: function () { return garbageCollection_1.unretainQuery; } });
@@ -15,6 +15,7 @@ var cache_1 = require("./core/cache");
15
15
  Object.defineProperty(exports, "callSubscriptions", { enumerable: true, get: function () { return cache_1.callSubscriptions; } });
16
16
  Object.defineProperty(exports, "subscribe", { enumerable: true, get: function () { return cache_1.subscribe; } });
17
17
  Object.defineProperty(exports, "normalizeData", { enumerable: true, get: function () { return cache_1.normalizeData; } });
18
+ Object.defineProperty(exports, "writeData", { enumerable: true, get: function () { return cache_1.writeData; } });
18
19
  var makeNetworkRequest_1 = require("./core/makeNetworkRequest");
19
20
  Object.defineProperty(exports, "makeNetworkRequest", { enumerable: true, get: function () { return makeNetworkRequest_1.makeNetworkRequest; } });
20
21
  var IsographEnvironment_1 = require("./core/IsographEnvironment");
@@ -1,7 +1,8 @@
1
+ import type { NetworkResponseObject } from '../core/cache';
1
2
  import { type ExtractReadFromStore, type IsographEntrypoint } from '../core/entrypoint';
2
3
  import { type FragmentReference } from '../core/FragmentReference';
3
4
  import { type NetworkRequestReaderOptions } from '../core/read';
4
- export declare function FragmentReader<TResult, TEntrypoint extends IsographEntrypoint<any, TResult, any>, TChildrenResult>({ fragmentReference, networkRequestOptions, children, }: {
5
+ export declare function FragmentReader<TResult, TRawResponseType extends NetworkResponseObject, TEntrypoint extends IsographEntrypoint<any, TResult, any, TRawResponseType>, TChildrenResult>({ fragmentReference, networkRequestOptions, children, }: {
5
6
  fragmentReference: FragmentReference<ExtractReadFromStore<TEntrypoint>, TResult>;
6
7
  networkRequestOptions?: Partial<NetworkRequestReaderOptions>;
7
8
  children: (data: TResult) => TChildrenResult;
@@ -1 +1 @@
1
- {"version":3,"file":"FragmentReader.d.ts","sourceRoot":"","sources":["../../src/react/FragmentReader.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAGhE,wBAAgB,cAAc,CAC5B,OAAO,EACP,WAAW,SAAS,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,EACzD,eAAe,EACf,EACA,iBAAiB,EACjB,qBAAqB,EACrB,QAAQ,GACT,EAAE;IACD,iBAAiB,EAAE,iBAAiB,CAClC,oBAAoB,CAAC,WAAW,CAAC,EACjC,OAAO,CACR,CAAC;IACF,qBAAqB,CAAC,EAAE,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAC7D,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,eAAe,CAAC;CAC9C,GAAG,eAAe,CAGlB"}
1
+ {"version":3,"file":"FragmentReader.d.ts","sourceRoot":"","sources":["../../src/react/FragmentReader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAGhE,wBAAgB,cAAc,CAC5B,OAAO,EACP,gBAAgB,SAAS,qBAAqB,EAC9C,WAAW,SAAS,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,gBAAgB,CAAC,EAC3E,eAAe,EACf,EACA,iBAAiB,EACjB,qBAAqB,EACrB,QAAQ,GACT,EAAE;IACD,iBAAiB,EAAE,iBAAiB,CAClC,oBAAoB,CAAC,WAAW,CAAC,EACjC,OAAO,CACR,CAAC;IACF,qBAAqB,CAAC,EAAE,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAC7D,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,eAAe,CAAC;CAC9C,GAAG,eAAe,CAGlB"}
@@ -2,8 +2,9 @@ import * as React from 'react';
2
2
  import { type ExtractReadFromStore, type IsographEntrypoint } from '../core/entrypoint';
3
3
  import { type FragmentReference } from '../core/FragmentReference';
4
4
  import { type NetworkRequestReaderOptions } from '../core/read';
5
+ import type { NetworkResponseObject } from '../core/cache';
5
6
  export type IsExactlyIntrinsicAttributes<T> = T extends JSX.IntrinsicAttributes ? JSX.IntrinsicAttributes extends T ? true : false : false;
6
- export declare function FragmentRenderer<TProps extends Record<any, any>, TEntrypoint extends IsographEntrypoint<any, React.FC<TProps>, any>>(props: IsExactlyIntrinsicAttributes<TProps> extends true ? {
7
+ export declare function FragmentRenderer<TProps extends Record<any, any>, TRawResponseType extends NetworkResponseObject, TEntrypoint extends IsographEntrypoint<any, React.FC<TProps>, any, TRawResponseType>>(props: IsExactlyIntrinsicAttributes<TProps> extends true ? {
7
8
  fragmentReference: FragmentReference<ExtractReadFromStore<TEntrypoint>, React.FC<TProps>>;
8
9
  additionalProps?: Record<PropertyKey, never>;
9
10
  networkRequestOptions?: Partial<NetworkRequestReaderOptions>;
@@ -1 +1 @@
1
- {"version":3,"file":"FragmentRenderer.d.ts","sourceRoot":"","sources":["../../src/react/FragmentRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAGhE,MAAM,MAAM,4BAA4B,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,mBAAmB,GAC3E,GAAG,CAAC,mBAAmB,SAAS,CAAC,GAC/B,IAAI,GACJ,KAAK,GACP,KAAK,CAAC;AAEV,wBAAgB,gBAAgB,CAC9B,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
+ {"version":3,"file":"FragmentRenderer.d.ts","sourceRoot":"","sources":["../../src/react/FragmentRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAEhE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAE3D,MAAM,MAAM,4BAA4B,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,mBAAmB,GAC3E,GAAG,CAAC,mBAAmB,SAAS,CAAC,GAC/B,IAAI,GACJ,KAAK,GACP,KAAK,CAAC;AAEV,wBAAgB,gBAAgB,CAC9B,MAAM,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAC/B,gBAAgB,SAAS,qBAAqB,EAC9C,WAAW,SAAS,kBAAkB,CACpC,GAAG,EACH,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,EAChB,GAAG,EACH,gBAAgB,CACjB,EAED,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,3 +1,4 @@
1
+ import type { NetworkResponseObject } from '../core/cache';
1
2
  import { FetchOptions, type RequiredFetchOptions } from '../core/check';
2
3
  import { IsographEntrypoint, type NormalizationAst, type NormalizationAstLoader } from '../core/entrypoint';
3
4
  import { ExtractParameters, FragmentReference, type UnknownTReadFromStore } from '../core/FragmentReference';
@@ -5,5 +6,5 @@ export type UseImperativeReferenceResult<TReadFromStore extends UnknownTReadFrom
5
6
  fragmentReference: FragmentReference<TReadFromStore, TClientFieldValue> | null;
6
7
  loadFragmentReference: (variables: ExtractParameters<TReadFromStore>, ...[fetchOptions]: NormalizationAstLoader extends TNormalizationAst ? [fetchOptions: RequiredFetchOptions<TClientFieldValue>] : [fetchOptions?: FetchOptions<TClientFieldValue>]) => void;
7
8
  };
8
- export declare function useImperativeReference<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue, TNormalizationAst extends NormalizationAst | NormalizationAstLoader>(entrypoint: IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst>): UseImperativeReferenceResult<TReadFromStore, TClientFieldValue, TNormalizationAst>;
9
+ export declare function useImperativeReference<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue, TNormalizationAst extends NormalizationAst | NormalizationAstLoader, TRawResponseType extends NetworkResponseObject>(entrypoint: IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst, TRawResponseType>): UseImperativeReferenceResult<TReadFromStore, TClientFieldValue, TNormalizationAst>;
9
10
  //# 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,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,EACjB,KAAK,qBAAqB,EAC3B,MAAM,2BAA2B,CAAC;AAMnC,MAAM,MAAM,4BAA4B,CACtC,cAAc,SAAS,qBAAqB,EAC5C,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,qBAAqB,EAC5C,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,CAsCA"}
1
+ {"version":3,"file":"useImperativeReference.d.ts","sourceRoot":"","sources":["../../src/react/useImperativeReference.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC3D,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,EACjB,KAAK,qBAAqB,EAC3B,MAAM,2BAA2B,CAAC;AAMnC,MAAM,MAAM,4BAA4B,CACtC,cAAc,SAAS,qBAAqB,EAC5C,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,qBAAqB,EAC5C,iBAAiB,EACjB,iBAAiB,SAAS,gBAAgB,GAAG,sBAAsB,EACnE,gBAAgB,SAAS,qBAAqB,EAE9C,UAAU,EAAE,kBAAkB,CAC5B,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,CACjB,GACA,4BAA4B,CAC7B,cAAc,EACd,iBAAiB,EACjB,iBAAiB,CAClB,CAsCA"}
@@ -1,7 +1,8 @@
1
+ import { type NetworkResponseObject } from '../core/cache';
1
2
  import { FetchOptions, type RequiredFetchOptions } from '../core/check';
2
3
  import { IsographEntrypoint, type NormalizationAst, type NormalizationAstLoader } from '../core/entrypoint';
3
4
  import { ExtractParameters, FragmentReference, type UnknownTReadFromStore } from '../core/FragmentReference';
4
- export declare function useLazyReference<TReadFromStore extends UnknownTReadFromStore, 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 : {
5
+ export declare function useLazyReference<TReadFromStore extends UnknownTReadFromStore, TClientFieldValue, TNormalizationAst extends NormalizationAst | NormalizationAstLoader, TRawResponseType extends NetworkResponseObject>(entrypoint: IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst, TRawResponseType>, variables: ExtractParameters<TReadFromStore>, ...[fetchOptions]: TNormalizationAst extends NormalizationAstLoader ? [fetchOptions: RequiredFetchOptions<TClientFieldValue>] : [fetchOptions?: FetchOptions<TClientFieldValue>]): NormalizationAst | NormalizationAstLoader extends TNormalizationAst ? unknown : {
5
6
  fragmentReference: FragmentReference<TReadFromStore, TClientFieldValue>;
6
7
  };
7
8
  //# 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,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,EACjB,KAAK,qBAAqB,EAC3B,MAAM,2BAA2B,CAAC;AAInC,wBAAgB,gBAAgB,CAC9B,cAAc,SAAS,qBAAqB,EAC5C,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"}
1
+ {"version":3,"file":"useLazyReference.d.ts","sourceRoot":"","sources":["../../src/react/useLazyReference.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,eAAe,CAAC;AACvB,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,EACjB,KAAK,qBAAqB,EAC3B,MAAM,2BAA2B,CAAC;AAInC,wBAAgB,gBAAgB,CAC9B,cAAc,SAAS,qBAAqB,EAC5C,iBAAiB,EACjB,iBAAiB,SAAS,gBAAgB,GAAG,sBAAsB,EACnE,gBAAgB,SAAS,qBAAqB,EAE9C,UAAU,EAAE,kBAAkB,CAC5B,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,CACjB,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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@isograph/react",
3
- "version": "0.0.0-main-76ed27b2",
3
+ "version": "0.0.0-main-db159ebc",
4
4
  "description": "Use Isograph with React",
5
5
  "homepage": "https://isograph.dev",
6
6
  "main": "dist/index.js",
@@ -8,9 +8,9 @@
8
8
  "author": "Isograph Labs",
9
9
  "license": "MIT",
10
10
  "dependencies": {
11
- "@isograph/react-disposable-state": "0.0.0-main-76ed27b2",
12
- "@isograph/reference-counted-pointer": "0.0.0-main-76ed27b2",
13
- "@isograph/disposable-types": "0.0.0-main-76ed27b2"
11
+ "@isograph/disposable-types": "0.0.0-main-db159ebc",
12
+ "@isograph/reference-counted-pointer": "0.0.0-main-db159ebc",
13
+ "@isograph/react-disposable-state": "0.0.0-main-db159ebc"
14
14
  },
15
15
  "peerDependencies": {
16
16
  "react": "^18.0.0 || ^19.0.0"
@@ -69,7 +69,7 @@ export type IsographEnvironment = {
69
69
  // TODO make this a CacheMap and add GC
70
70
  readonly entrypointArtifactCache: Map<
71
71
  string,
72
- PromiseWrapper<IsographEntrypoint<any, any, any>>
72
+ PromiseWrapper<IsographEntrypoint<any, any, any, any>>
73
73
  >;
74
74
  readonly retainedQueries: Set<RetainedQuery>;
75
75
  readonly gcBuffer: Array<RetainedQuery>;
@@ -208,8 +208,8 @@ export function getLink(maybeLink: DataTypeValue): StoreLink | null {
208
208
  export function getOrLoadIsographArtifact(
209
209
  environment: IsographEnvironment,
210
210
  key: string,
211
- loader: () => Promise<IsographEntrypoint<any, any, any>>,
212
- ): PromiseWrapper<IsographEntrypoint<any, any, any>> {
211
+ loader: () => Promise<IsographEntrypoint<any, any, any, any>>,
212
+ ): PromiseWrapper<IsographEntrypoint<any, any, any, any>> {
213
213
  const value = environment.entrypointArtifactCache.get(key);
214
214
  if (value != null) {
215
215
  return value;
package/src/core/brand.ts CHANGED
@@ -16,3 +16,21 @@ export type Brand<
16
16
  Brand extends symbol | string,
17
17
  // @ts-ignore
18
18
  > = infer _ extends Brand ? BaseType : never;
19
+
20
+ declare const PhantomDataBrand: unique symbol;
21
+ /**
22
+ * A phantom data type is one that shouldn't show up at runtime, but is checked statically (and only) at compile time.
23
+ * Data types can use extra properties to act as markers or to perform type checking at compile time. These extra properties should hold no storage values, and have no runtime behavior.
24
+ *
25
+ * ```tsx
26
+ * type MyType<T> = {
27
+ * readonly value: number;
28
+ * readonly '~T'?: PhantomData<T>;
29
+ * }
30
+ * ```
31
+ */
32
+ export type PhantomData<T> = Brand<T, typeof PhantomDataBrand>;
33
+
34
+ export type Invariant<T> = (_: T) => T;
35
+ export type Covariant<T> = (_: never) => T;
36
+ export type Contravariant<T> = (_: T) => void;
package/src/core/cache.ts CHANGED
@@ -35,6 +35,7 @@ import {
35
35
  import { logMessage } from './logging';
36
36
  import { maybeMakeNetworkRequest } from './makeNetworkRequest';
37
37
  import {
38
+ addNetworkResponseStoreLayer,
38
39
  getMutableStoreRecordProxy,
39
40
  type StoreLayerWithData,
40
41
  } from './optimisticProxy';
@@ -86,12 +87,14 @@ export function getOrCreateCacheForArtifact<
86
87
  TReadFromStore extends UnknownTReadFromStore,
87
88
  TClientFieldValue,
88
89
  TNormalizationAst extends NormalizationAst | NormalizationAstLoader,
90
+ TRawResponseType extends NetworkResponseObject,
89
91
  >(
90
92
  environment: IsographEnvironment,
91
93
  entrypoint: IsographEntrypoint<
92
94
  TReadFromStore,
93
95
  TClientFieldValue,
94
- TNormalizationAst
96
+ TNormalizationAst,
97
+ TRawResponseType
95
98
  >,
96
99
  variables: ExtractParameters<TReadFromStore>,
97
100
  fetchOptions?: FetchOptions<TClientFieldValue>,
@@ -145,15 +148,15 @@ export type NetworkResponseValue =
145
148
  | NetworkResponseScalarValue
146
149
  | null
147
150
  | NetworkResponseObject
148
- | (NetworkResponseObject | null)[]
149
- | (NetworkResponseScalarValue | null)[];
151
+ | readonly (NetworkResponseObject | null)[]
152
+ | readonly (NetworkResponseScalarValue | null)[];
150
153
 
151
154
  export type NetworkResponseObject = {
152
155
  // N.B. undefined is here to support optional id's, but
153
156
  // undefined should not *actually* be present in the network response.
154
- [index: string]: undefined | NetworkResponseValue;
155
- id?: DataId;
156
- __typename?: TypeName;
157
+ readonly [index: string]: undefined | NetworkResponseValue;
158
+ readonly id?: DataId;
159
+ readonly __typename?: TypeName;
157
160
  };
158
161
 
159
162
  export function normalizeData(
@@ -516,13 +519,19 @@ function normalizeScalarField(
516
519
  }
517
520
 
518
521
  if (isScalarOrEmptyArray(networkResponseData)) {
519
- targetStoreRecord[parentRecordKey] = networkResponseData;
522
+ targetStoreRecord[parentRecordKey] = networkResponseData as
523
+ | NetworkResponseScalarValue
524
+ | (NetworkResponseScalarValue | null)[]; // have to cast array to mutable
520
525
  return existingValue !== networkResponseData;
521
526
  } else {
522
527
  throw new Error('Unexpected object array when normalizing scalar');
523
528
  }
524
529
  }
525
530
 
531
+ function isArray(value: unknown): value is readonly unknown[] {
532
+ return Array.isArray(value);
533
+ }
534
+
526
535
  /**
527
536
  * Mutate targetParentRecord with a given linked field ast node.
528
537
  */
@@ -555,7 +564,7 @@ function normalizeLinkedField(
555
564
  );
556
565
  }
557
566
 
558
- if (Array.isArray(networkResponseData)) {
567
+ if (isArray(networkResponseData)) {
559
568
  // TODO check astNode.plural or the like
560
569
  const dataIds: (StoreLink | null)[] = [];
561
570
  for (let i = 0; i < networkResponseData.length; i++) {
@@ -721,7 +730,9 @@ function normalizeNetworkResponseObject(
721
730
 
722
731
  function isScalarOrEmptyArray(
723
732
  data: NonNullable<NetworkResponseValue>,
724
- ): data is NetworkResponseScalarValue | (NetworkResponseScalarValue | null)[] {
733
+ ): data is
734
+ | NetworkResponseScalarValue
735
+ | readonly (NetworkResponseScalarValue | null)[] {
725
736
  // N.B. empty arrays count as empty arrays of scalar fields.
726
737
  if (Array.isArray(data)) {
727
738
  // This is maybe fixed in a new version of Typescript??
@@ -735,7 +746,9 @@ function isScalarOrEmptyArray(
735
746
  return isScalarValue;
736
747
  }
737
748
 
738
- function isNullOrEmptyArray(data: unknown): data is never[] | null[] | null {
749
+ function isNullOrEmptyArray(
750
+ data: unknown,
751
+ ): data is readonly never[] | null[] | null {
739
752
  if (Array.isArray(data)) {
740
753
  if (data.length === 0) {
741
754
  return true;
@@ -911,3 +924,37 @@ function getDataIdOfNetworkResponse(
911
924
  }
912
925
  return storeKey;
913
926
  }
927
+
928
+ export function writeData<
929
+ TReadFromStore extends UnknownTReadFromStore,
930
+ TRawResponseType extends NetworkResponseObject,
931
+ >(
932
+ environment: IsographEnvironment,
933
+ entrypoint: IsographEntrypoint<
934
+ TReadFromStore,
935
+ unknown,
936
+ NormalizationAst,
937
+ TRawResponseType
938
+ >,
939
+ data: TRawResponseType,
940
+ variables: ExtractParameters<TReadFromStore>,
941
+ ) {
942
+ const encounteredIds: EncounteredIds = new Map();
943
+ environment.store = addNetworkResponseStoreLayer(environment.store);
944
+ normalizeData(
945
+ environment,
946
+ environment.store,
947
+ entrypoint.networkRequestInfo.normalizationAst.selections,
948
+ data,
949
+ variables,
950
+ { __link: ROOT_ID, __typename: entrypoint.concreteType },
951
+ encounteredIds,
952
+ );
953
+ logMessage(environment, () => ({
954
+ kind: 'AfterNormalization',
955
+ store: environment.store,
956
+ encounteredIds,
957
+ }));
958
+
959
+ callSubscriptions(environment, encounteredIds);
960
+ }
@@ -1,3 +1,5 @@
1
+ import type { Contravariant, PhantomData } from './brand';
2
+ import type { NetworkResponseObject } from './cache';
1
3
  import type { UnknownTReadFromStore } from './FragmentReference';
2
4
  import type { TypeName } from './IsographEnvironment';
3
5
  import { TopLevelReaderArtifact } from './reader';
@@ -55,6 +57,7 @@ export type IsographEntrypoint<
55
57
  TReadFromStore extends UnknownTReadFromStore,
56
58
  TClientFieldValue,
57
59
  TNormalizationAst extends NormalizationAst | NormalizationAstLoader,
60
+ TRawResponseType extends NetworkResponseObject,
58
61
  > = {
59
62
  readonly kind: 'Entrypoint';
60
63
  readonly networkRequestInfo: NetworkRequestInfo<TNormalizationAst>;
@@ -62,16 +65,26 @@ export type IsographEntrypoint<
62
65
  | ReaderWithRefetchQueries<TReadFromStore, TClientFieldValue>
63
66
  | ReaderWithRefetchQueriesLoader<TReadFromStore, TClientFieldValue>;
64
67
  readonly concreteType: TypeName;
68
+ /**
69
+ * This field exists solely for typechecking, and will not exist at runtime.
70
+ */
71
+ readonly '~TRawResponseType'?: PhantomData<Contravariant<TRawResponseType>>;
65
72
  };
66
73
 
67
74
  export type IsographEntrypointLoader<
68
75
  TReadFromStore extends UnknownTReadFromStore,
69
76
  TClientFieldValue,
77
+ TRawResponseType extends NetworkResponseObject,
70
78
  > = {
71
79
  readonly kind: 'EntrypointLoader';
72
80
  readonly typeAndField: string;
73
81
  readonly loader: () => Promise<
74
- IsographEntrypoint<TReadFromStore, TClientFieldValue, NormalizationAst>
82
+ IsographEntrypoint<
83
+ TReadFromStore,
84
+ TClientFieldValue,
85
+ NormalizationAst,
86
+ TRawResponseType
87
+ >
75
88
  >;
76
89
  };
77
90
 
@@ -129,9 +142,15 @@ export function assertIsEntrypoint<
129
142
  TReadFromStore extends UnknownTReadFromStore,
130
143
  TClientFieldValue,
131
144
  TNormalizationAst extends NormalizationAst | NormalizationAstLoader,
145
+ TRawResponseType extends NetworkResponseObject,
132
146
  >(
133
147
  value:
134
- | IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst>
148
+ | IsographEntrypoint<
149
+ TReadFromStore,
150
+ TClientFieldValue,
151
+ TNormalizationAst,
152
+ TRawResponseType
153
+ >
135
154
  | ((_: any) => any)
136
155
  // Temporarily, allow any here. Once we automatically provide
137
156
  // types to entrypoints, we probably don't need this.
@@ -139,13 +158,16 @@ export function assertIsEntrypoint<
139
158
  ): asserts value is IsographEntrypoint<
140
159
  TReadFromStore,
141
160
  TClientFieldValue,
142
- TNormalizationAst
161
+ TNormalizationAst,
162
+ TRawResponseType
143
163
  > {
144
164
  if (typeof value === 'function') throw new Error('Not a string');
145
165
  }
146
166
 
147
167
  export type ExtractReadFromStore<Type> =
148
- Type extends IsographEntrypoint<infer X, any, any> ? X : never;
168
+ Type extends IsographEntrypoint<infer X, any, any, any> ? X : never;
169
+ export type ExtractRawResponseType<Type> =
170
+ Type extends IsographEntrypoint<any, any, any, infer X> ? X : never;
149
171
  export type ExtractResolverResult<Type> =
150
- Type extends IsographEntrypoint<any, infer X, any> ? X : never;
172
+ Type extends IsographEntrypoint<any, infer X, any, any> ? X : never;
151
173
  export type ExtractProps<Type> = Type extends React.FC<infer X> ? X : never;
@@ -44,7 +44,7 @@ export type LogMessage =
44
44
  kind: 'MakeNetworkRequest';
45
45
  artifact:
46
46
  | RefetchQueryNormalizationArtifact
47
- | IsographEntrypoint<any, any, any>;
47
+ | IsographEntrypoint<any, any, any, any>;
48
48
  variables: Variables;
49
49
  networkRequestId: string;
50
50
  }
@@ -1,5 +1,10 @@
1
1
  import { ItemCleanupPair } from '@isograph/disposable-types';
2
- import { callSubscriptions, normalizeData, type EncounteredIds } from './cache';
2
+ import {
3
+ callSubscriptions,
4
+ normalizeData,
5
+ type EncounteredIds,
6
+ type NetworkResponseObject,
7
+ } from './cache';
3
8
  import { check, DEFAULT_SHOULD_FETCH_VALUE, FetchOptions } from './check';
4
9
  import { getOrCreateCachedComponent } from './componentCache';
5
10
  import {
@@ -37,13 +42,18 @@ let networkRequestId = 0;
37
42
  export function maybeMakeNetworkRequest<
38
43
  TReadFromStore extends UnknownTReadFromStore,
39
44
  TClientFieldValue,
40
- TArtifact extends
41
- | RefetchQueryNormalizationArtifact
42
- | IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst>,
43
45
  TNormalizationAst extends NormalizationAst | NormalizationAstLoader,
46
+ TRawResponseType extends NetworkResponseObject,
44
47
  >(
45
48
  environment: IsographEnvironment,
46
- artifact: TArtifact,
49
+ artifact:
50
+ | RefetchQueryNormalizationArtifact
51
+ | IsographEntrypoint<
52
+ TReadFromStore,
53
+ TClientFieldValue,
54
+ TNormalizationAst,
55
+ TRawResponseType
56
+ >,
47
57
  variables: ExtractParameters<TReadFromStore>,
48
58
  readerWithRefetchQueries: PromiseWrapper<
49
59
  ReaderWithRefetchQueries<TReadFromStore, TClientFieldValue>
@@ -108,6 +118,7 @@ export function maybeMakeNetworkRequest<
108
118
  function retainQueryWithoutMakingNetworkRequest<
109
119
  TReadFromStore extends UnknownTReadFromStore,
110
120
  TClientFieldValue,
121
+ TRawResponseType extends NetworkResponseObject,
111
122
  >(
112
123
  environment: IsographEnvironment,
113
124
  artifact:
@@ -115,7 +126,8 @@ function retainQueryWithoutMakingNetworkRequest<
115
126
  | IsographEntrypoint<
116
127
  TReadFromStore,
117
128
  TClientFieldValue,
118
- NormalizationAst | NormalizationAstLoader
129
+ NormalizationAst | NormalizationAstLoader,
130
+ TRawResponseType
119
131
  >,
120
132
  variables: ExtractParameters<TReadFromStore>,
121
133
  ): ItemCleanupPair<PromiseWrapper<void, AnyError>> {
@@ -143,13 +155,18 @@ function retainQueryWithoutMakingNetworkRequest<
143
155
  export function makeNetworkRequest<
144
156
  TReadFromStore extends UnknownTReadFromStore,
145
157
  TClientFieldValue,
146
- TArtifact extends
147
- | RefetchQueryNormalizationArtifact
148
- | IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst>,
149
158
  TNormalizationAst extends NormalizationAst | NormalizationAstLoader,
159
+ TRawResponseType extends NetworkResponseObject,
150
160
  >(
151
161
  environment: IsographEnvironment,
152
- artifact: TArtifact,
162
+ artifact:
163
+ | RefetchQueryNormalizationArtifact
164
+ | IsographEntrypoint<
165
+ TReadFromStore,
166
+ TClientFieldValue,
167
+ TNormalizationAst,
168
+ TRawResponseType
169
+ >,
153
170
  variables: ExtractParameters<TReadFromStore>,
154
171
  readerWithRefetchQueries: PromiseWrapper<
155
172
  ReaderWithRefetchQueries<TReadFromStore, TClientFieldValue>
@@ -284,12 +301,17 @@ type NetworkRequestStatus =
284
301
  function readDataForOnComplete<
285
302
  TReadFromStore extends UnknownTReadFromStore,
286
303
  TClientFieldValue,
287
- TArtifact extends
288
- | RefetchQueryNormalizationArtifact
289
- | IsographEntrypoint<TReadFromStore, TClientFieldValue, TNormalizationAst>,
290
304
  TNormalizationAst extends NormalizationAst | NormalizationAstLoader,
305
+ TRawResponseType extends NetworkResponseObject,
291
306
  >(
292
- artifact: TArtifact,
307
+ artifact:
308
+ | RefetchQueryNormalizationArtifact
309
+ | IsographEntrypoint<
310
+ TReadFromStore,
311
+ TClientFieldValue,
312
+ TNormalizationAst,
313
+ TRawResponseType
314
+ >,
293
315
  environment: IsographEnvironment,
294
316
  root: StoreLink,
295
317
  variables: ExtractParameters<TReadFromStore>,
@@ -386,6 +408,7 @@ function readDataForOnComplete<
386
408
  function fetchNormalizationAstAndRetainArtifact<
387
409
  TReadFromStore extends UnknownTReadFromStore,
388
410
  TClientFieldValue,
411
+ TRawResponseType extends NetworkResponseObject,
389
412
  >(
390
413
  environment: IsographEnvironment,
391
414
  artifact:
@@ -393,7 +416,8 @@ function fetchNormalizationAstAndRetainArtifact<
393
416
  | IsographEntrypoint<
394
417
  TReadFromStore,
395
418
  TClientFieldValue,
396
- NormalizationAst | NormalizationAstLoader
419
+ NormalizationAst | NormalizationAstLoader,
420
+ TRawResponseType
397
421
  >,
398
422
  variables: ExtractParameters<TReadFromStore>,
399
423
  ): RetainedQuery {
package/src/core/read.ts CHANGED
@@ -344,7 +344,7 @@ export function readLoadablySelectedFieldData(
344
344
  // Fetcher
345
345
  () => {
346
346
  const fragmentReferenceAndDisposeFromEntrypoint = (
347
- entrypoint: IsographEntrypoint<any, any, any>,
347
+ entrypoint: IsographEntrypoint<any, any, any, {}>,
348
348
  ): [FragmentReference<any, any>, CleanupFn] => {
349
349
  const readerWithRefetchQueries =
350
350
  entrypoint.readerWithRefetchQueries.kind ===
@@ -153,8 +153,8 @@ export type LoadablySelectedField = {
153
153
 
154
154
  // TODO we should not type these as any
155
155
  readonly entrypoint:
156
- | IsographEntrypoint<any, any, any>
157
- | IsographEntrypointLoader<any, any>;
156
+ | IsographEntrypoint<any, any, any, any>
157
+ | IsographEntrypointLoader<any, any, any>;
158
158
  };
159
159
 
160
160
  export type StableId = string;
package/src/index.ts CHANGED
@@ -21,6 +21,7 @@ export {
21
21
  callSubscriptions,
22
22
  subscribe,
23
23
  normalizeData,
24
+ writeData,
24
25
  type NetworkResponseObject,
25
26
  type NetworkResponseValue,
26
27
  type NetworkResponseScalarValue,
@@ -1,3 +1,4 @@
1
+ import type { NetworkResponseObject } from '../core/cache';
1
2
  import {
2
3
  type ExtractReadFromStore,
3
4
  type IsographEntrypoint,
@@ -8,7 +9,8 @@ import { useResult } from './useResult';
8
9
 
9
10
  export function FragmentReader<
10
11
  TResult,
11
- TEntrypoint extends IsographEntrypoint<any, TResult, any>,
12
+ TRawResponseType extends NetworkResponseObject,
13
+ TEntrypoint extends IsographEntrypoint<any, TResult, any, TRawResponseType>,
12
14
  TChildrenResult,
13
15
  >({
14
16
  fragmentReference,
@@ -6,6 +6,7 @@ import {
6
6
  import { type FragmentReference } from '../core/FragmentReference';
7
7
  import { type NetworkRequestReaderOptions } from '../core/read';
8
8
  import { useResult } from './useResult';
9
+ import type { NetworkResponseObject } from '../core/cache';
9
10
 
10
11
  export type IsExactlyIntrinsicAttributes<T> = T extends JSX.IntrinsicAttributes
11
12
  ? JSX.IntrinsicAttributes extends T
@@ -15,7 +16,13 @@ export type IsExactlyIntrinsicAttributes<T> = T extends JSX.IntrinsicAttributes
15
16
 
16
17
  export function FragmentRenderer<
17
18
  TProps extends Record<any, any>,
18
- TEntrypoint extends IsographEntrypoint<any, React.FC<TProps>, any>,
19
+ TRawResponseType extends NetworkResponseObject,
20
+ TEntrypoint extends IsographEntrypoint<
21
+ any,
22
+ React.FC<TProps>,
23
+ any,
24
+ TRawResponseType
25
+ >,
19
26
  >(
20
27
  props: IsExactlyIntrinsicAttributes<TProps> extends true
21
28
  ? {
@@ -2,6 +2,7 @@ import {
2
2
  UNASSIGNED_STATE,
3
3
  useUpdatableDisposableState,
4
4
  } from '@isograph/react-disposable-state';
5
+ import type { NetworkResponseObject } from '../core/cache';
5
6
  import { FetchOptions, type RequiredFetchOptions } from '../core/check';
6
7
  import {
7
8
  IsographEntrypoint,
@@ -39,11 +40,13 @@ export function useImperativeReference<
39
40
  TReadFromStore extends UnknownTReadFromStore,
40
41
  TClientFieldValue,
41
42
  TNormalizationAst extends NormalizationAst | NormalizationAstLoader,
43
+ TRawResponseType extends NetworkResponseObject,
42
44
  >(
43
45
  entrypoint: IsographEntrypoint<
44
46
  TReadFromStore,
45
47
  TClientFieldValue,
46
- TNormalizationAst
48
+ TNormalizationAst,
49
+ TRawResponseType
47
50
  >,
48
51
  ): UseImperativeReferenceResult<
49
52
  TReadFromStore,
@@ -1,5 +1,8 @@
1
1
  import { useLazyDisposableState } from '@isograph/react-disposable-state';
2
- import { getOrCreateCacheForArtifact } from '../core/cache';
2
+ import {
3
+ getOrCreateCacheForArtifact,
4
+ type NetworkResponseObject,
5
+ } from '../core/cache';
3
6
  import { FetchOptions, type RequiredFetchOptions } from '../core/check';
4
7
  import {
5
8
  IsographEntrypoint,
@@ -18,11 +21,13 @@ export function useLazyReference<
18
21
  TReadFromStore extends UnknownTReadFromStore,
19
22
  TClientFieldValue,
20
23
  TNormalizationAst extends NormalizationAst | NormalizationAstLoader,
24
+ TRawResponseType extends NetworkResponseObject,
21
25
  >(
22
26
  entrypoint: IsographEntrypoint<
23
27
  TReadFromStore,
24
28
  TClientFieldValue,
25
- TNormalizationAst
29
+ TNormalizationAst,
30
+ TRawResponseType
26
31
  >,
27
32
  variables: ExtractParameters<TReadFromStore>,
28
33
  ...[fetchOptions]: TNormalizationAst extends NormalizationAstLoader
@@ -57,12 +62,18 @@ export function useLazyReference<
57
62
 
58
63
  // @ts-ignore
59
64
  function tsTests() {
60
- let withAst!: IsographEntrypoint<any, unknown, NormalizationAst>;
61
- let withAstLoader!: IsographEntrypoint<any, unknown, NormalizationAstLoader>;
65
+ let withAst!: IsographEntrypoint<any, unknown, NormalizationAst, any>;
66
+ let withAstLoader!: IsographEntrypoint<
67
+ any,
68
+ unknown,
69
+ NormalizationAstLoader,
70
+ {}
71
+ >;
62
72
  let withAstOrLoader!: IsographEntrypoint<
63
73
  any,
64
74
  unknown,
65
- NormalizationAst | NormalizationAstLoader
75
+ NormalizationAst | NormalizationAstLoader,
76
+ {}
66
77
  >;
67
78
 
68
79
  useLazyReference(withAst, {}) satisfies {};
@@ -1,6 +1,7 @@
1
1
  import type {IsographEntrypoint, NormalizationAst, RefetchQueryNormalizationArtifactWrapper} from '@isograph/react';
2
2
  import {Query__linkedUpdate__param} from './param_type';
3
3
  import {Query__linkedUpdate__output_type} from './output_type';
4
+ import type {Query__linkedUpdate__raw_response_type} from './raw_response_type';
4
5
  import readerResolver from './resolver_reader';
5
6
  import queryText from './query_text';
6
7
  import normalizationAst from './normalization_ast';
@@ -9,7 +10,8 @@ const nestedRefetchQueries: RefetchQueryNormalizationArtifactWrapper[] = [];
9
10
  const artifact: IsographEntrypoint<
10
11
  Query__linkedUpdate__param,
11
12
  Query__linkedUpdate__output_type,
12
- NormalizationAst
13
+ NormalizationAst,
14
+ Query__linkedUpdate__raw_response_type
13
15
  > = {
14
16
  kind: "Entrypoint",
15
17
  networkRequestInfo: {
@@ -1,6 +1,7 @@
1
1
  import type {IsographEntrypoint, NormalizationAst, RefetchQueryNormalizationArtifactWrapper} from '@isograph/react';
2
2
  import {Query__meName__param} from './param_type';
3
3
  import {Query__meName__output_type} from './output_type';
4
+ import type {Query__meName__raw_response_type} from './raw_response_type';
4
5
  import readerResolver from './resolver_reader';
5
6
  import queryText from './query_text';
6
7
  import normalizationAst from './normalization_ast';
@@ -9,7 +10,8 @@ const nestedRefetchQueries: RefetchQueryNormalizationArtifactWrapper[] = [];
9
10
  const artifact: IsographEntrypoint<
10
11
  Query__meName__param,
11
12
  Query__meName__output_type,
12
- NormalizationAst
13
+ NormalizationAst,
14
+ Query__meName__raw_response_type
13
15
  > = {
14
16
  kind: "Entrypoint",
15
17
  networkRequestInfo: {
@@ -1,6 +1,7 @@
1
1
  import type {IsographEntrypoint, NormalizationAst, RefetchQueryNormalizationArtifactWrapper} from '@isograph/react';
2
2
  import {Query__meNameSuccessor__param} from './param_type';
3
3
  import {Query__meNameSuccessor__output_type} from './output_type';
4
+ import type {Query__meNameSuccessor__raw_response_type} from './raw_response_type';
4
5
  import readerResolver from './resolver_reader';
5
6
  import queryText from './query_text';
6
7
  import normalizationAst from './normalization_ast';
@@ -9,7 +10,8 @@ const nestedRefetchQueries: RefetchQueryNormalizationArtifactWrapper[] = [];
9
10
  const artifact: IsographEntrypoint<
10
11
  Query__meNameSuccessor__param,
11
12
  Query__meNameSuccessor__output_type,
12
- NormalizationAst
13
+ NormalizationAst,
14
+ Query__meNameSuccessor__raw_response_type
13
15
  > = {
14
16
  kind: "Entrypoint",
15
17
  networkRequestInfo: {
@@ -1,6 +1,7 @@
1
1
  import type {IsographEntrypoint, NormalizationAst, RefetchQueryNormalizationArtifactWrapper} from '@isograph/react';
2
2
  import {Query__nodeField__param} from './param_type';
3
3
  import {Query__nodeField__output_type} from './output_type';
4
+ import type {Query__nodeField__raw_response_type} from './raw_response_type';
4
5
  import readerResolver from './resolver_reader';
5
6
  import queryText from './query_text';
6
7
  import normalizationAst from './normalization_ast';
@@ -9,7 +10,8 @@ const nestedRefetchQueries: RefetchQueryNormalizationArtifactWrapper[] = [];
9
10
  const artifact: IsographEntrypoint<
10
11
  Query__nodeField__param,
11
12
  Query__nodeField__output_type,
12
- NormalizationAst
13
+ NormalizationAst,
14
+ Query__nodeField__raw_response_type
13
15
  > = {
14
16
  kind: "Entrypoint",
15
17
  networkRequestInfo: {
@@ -1,6 +1,7 @@
1
1
  import type {IsographEntrypoint, NormalizationAst, RefetchQueryNormalizationArtifactWrapper} from '@isograph/react';
2
2
  import {Query__normalizeUndefinedField__param} from './param_type';
3
3
  import {Query__normalizeUndefinedField__output_type} from './output_type';
4
+ import type {Query__normalizeUndefinedField__raw_response_type} from './raw_response_type';
4
5
  import readerResolver from './resolver_reader';
5
6
  import queryText from './query_text';
6
7
  import normalizationAst from './normalization_ast';
@@ -9,7 +10,8 @@ const nestedRefetchQueries: RefetchQueryNormalizationArtifactWrapper[] = [];
9
10
  const artifact: IsographEntrypoint<
10
11
  Query__normalizeUndefinedField__param,
11
12
  Query__normalizeUndefinedField__output_type,
12
- NormalizationAst
13
+ NormalizationAst,
14
+ Query__normalizeUndefinedField__raw_response_type
13
15
  > = {
14
16
  kind: "Entrypoint",
15
17
  networkRequestInfo: {
@@ -1,6 +1,7 @@
1
1
  import type {IsographEntrypoint, NormalizationAst, RefetchQueryNormalizationArtifactWrapper} from '@isograph/react';
2
2
  import {Query__startUpdate__param} from './param_type';
3
3
  import {Query__startUpdate__output_type} from './output_type';
4
+ import type {Query__startUpdate__raw_response_type} from './raw_response_type';
4
5
  import readerResolver from './resolver_reader';
5
6
  import queryText from './query_text';
6
7
  import normalizationAst from './normalization_ast';
@@ -9,7 +10,8 @@ const nestedRefetchQueries: RefetchQueryNormalizationArtifactWrapper[] = [];
9
10
  const artifact: IsographEntrypoint<
10
11
  Query__startUpdate__param,
11
12
  Query__startUpdate__output_type,
12
- NormalizationAst
13
+ NormalizationAst,
14
+ Query__startUpdate__raw_response_type
13
15
  > = {
14
16
  kind: "Entrypoint",
15
17
  networkRequestInfo: {
@@ -1,6 +1,7 @@
1
1
  import type {IsographEntrypoint, NormalizationAst, RefetchQueryNormalizationArtifactWrapper} from '@isograph/react';
2
2
  import {Query__subquery__param} from './param_type';
3
3
  import {Query__subquery__output_type} from './output_type';
4
+ import type {Query__subquery__raw_response_type} from './raw_response_type';
4
5
  import readerResolver from './resolver_reader';
5
6
  import queryText from './query_text';
6
7
  import normalizationAst from './normalization_ast';
@@ -9,7 +10,8 @@ const nestedRefetchQueries: RefetchQueryNormalizationArtifactWrapper[] = [];
9
10
  const artifact: IsographEntrypoint<
10
11
  Query__subquery__param,
11
12
  Query__subquery__output_type,
12
- NormalizationAst
13
+ NormalizationAst,
14
+ Query__subquery__raw_response_type
13
15
  > = {
14
16
  kind: "Entrypoint",
15
17
  networkRequestInfo: {
@@ -121,7 +121,7 @@ export function iso<T>(
121
121
  export function iso(_isographLiteralText: string):
122
122
  | IdentityWithParam<any>
123
123
  | IdentityWithParamComponent<any>
124
- | IsographEntrypoint<any, any, any>
124
+ | IsographEntrypoint<any, any, any, any>
125
125
  {
126
126
  throw new Error('iso: Unexpected invocation at runtime. Either the Babel transform ' +
127
127
  'was not set up, or it failed to identify this call site. Make sure it ' +