@isograph/react 0.0.0-main-a840a70e → 0.0.0-main-c09c9dbf
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-compile-libs.log +8 -5
- package/.turbo/turbo-tsc.log +2 -2
- package/dist/_virtual/{rolldown_runtime.js → rolldown_runtime.cjs} +10 -6
- package/dist/core/{FragmentReference.js → FragmentReference.cjs} +1 -1
- package/dist/core/{FragmentReference.d.ts → FragmentReference.d.cts} +5 -5
- package/dist/core/FragmentReference.d.cts.map +1 -0
- package/dist/core/FragmentReference.d.mts.map +1 -1
- package/dist/core/{IsographEnvironment.js → IsographEnvironment.cjs} +5 -5
- package/dist/core/{IsographEnvironment.d.ts → IsographEnvironment.d.cts} +15 -16
- package/dist/core/IsographEnvironment.d.cts.map +1 -0
- package/dist/core/IsographEnvironment.d.mts +5 -6
- package/dist/core/IsographEnvironment.d.mts.map +1 -1
- package/dist/core/IsographEnvironment.mjs +3 -3
- package/dist/core/IsographEnvironment.mjs.map +1 -1
- package/dist/core/{PromiseWrapper.d.ts → PromiseWrapper.d.cts} +1 -1
- package/dist/core/PromiseWrapper.d.cts.map +1 -0
- package/dist/core/PromiseWrapper.d.mts.map +1 -1
- package/dist/core/PromiseWrapper.mjs.map +1 -1
- package/dist/core/{areEqualWithDeepComparison.js → areEqualWithDeepComparison.cjs} +7 -7
- package/dist/core/areEqualWithDeepComparison.mjs +7 -7
- package/dist/core/areEqualWithDeepComparison.mjs.map +1 -1
- package/dist/core/{brand.d.ts → brand.d.cts} +2 -2
- package/dist/core/brand.d.cts.map +1 -0
- package/dist/core/brand.d.mts +1 -1
- package/dist/core/brand.d.mts.map +1 -1
- package/dist/core/{cache.js → cache.cjs} +11 -12
- package/dist/core/cache.d.cts +44 -0
- package/dist/core/cache.d.cts.map +1 -0
- package/dist/core/cache.d.mts +27 -19
- package/dist/core/cache.d.mts.map +1 -1
- package/dist/core/cache.mjs +4 -4
- package/dist/core/cache.mjs.map +1 -1
- package/dist/core/{check.js → check.cjs} +4 -4
- package/dist/core/{check.d.ts → check.d.cts} +4 -4
- package/dist/core/check.d.cts.map +1 -0
- package/dist/core/check.d.mts.map +1 -1
- package/dist/core/check.mjs.map +1 -1
- package/dist/core/{componentCache.js → componentCache.cjs} +2 -2
- package/dist/core/{entrypoint.d.ts → entrypoint.d.cts} +7 -7
- package/dist/core/entrypoint.d.cts.map +1 -0
- package/dist/core/entrypoint.d.mts.map +1 -1
- package/dist/core/{garbageCollection.js → garbageCollection.cjs} +3 -3
- package/dist/core/{garbageCollection.d.ts → garbageCollection.d.cts} +4 -4
- package/dist/core/garbageCollection.d.cts.map +1 -0
- package/dist/core/garbageCollection.d.mts.map +1 -1
- package/dist/core/garbageCollection.mjs.map +1 -1
- package/dist/core/{getOrCreateCacheForArtifact.js → getOrCreateCacheForArtifact.cjs} +4 -4
- package/dist/core/getOrCreateCacheForArtifact.mjs.map +1 -1
- package/dist/core/{logging.d.ts → logging.d.cts} +9 -10
- package/dist/core/logging.d.cts.map +1 -0
- package/dist/core/logging.d.mts +0 -1
- package/dist/core/logging.d.mts.map +1 -1
- package/dist/core/{makeNetworkRequest.js → makeNetworkRequest.cjs} +15 -15
- package/dist/core/{makeNetworkRequest.d.ts → makeNetworkRequest.d.cts} +7 -7
- package/dist/core/makeNetworkRequest.d.cts.map +1 -0
- package/dist/core/makeNetworkRequest.d.mts.map +1 -1
- package/dist/core/makeNetworkRequest.mjs +4 -4
- package/dist/core/makeNetworkRequest.mjs.map +1 -1
- package/dist/core/{optimisticProxy.js → optimisticProxy.cjs} +2 -2
- package/dist/core/{optimisticProxy.d.ts → optimisticProxy.d.cts} +2 -3
- package/dist/core/optimisticProxy.d.cts.map +1 -0
- package/dist/core/optimisticProxy.d.mts +0 -1
- package/dist/core/optimisticProxy.d.mts.map +1 -1
- package/dist/core/optimisticProxy.mjs.map +1 -1
- package/dist/core/{read.js → read.cjs} +47 -47
- package/dist/core/{read.d.ts → read.d.cts} +4 -5
- package/dist/core/read.d.cts.map +1 -0
- package/dist/core/read.d.mts.map +1 -1
- package/dist/core/read.mjs +39 -39
- package/dist/core/read.mjs.map +1 -1
- package/dist/core/{reader.d.ts → reader.d.cts} +6 -6
- package/dist/core/reader.d.cts.map +1 -0
- package/dist/core/reader.d.mts.map +1 -1
- package/dist/core/{startUpdate.js → startUpdate.cjs} +14 -14
- package/dist/core/startUpdate.mjs +6 -6
- package/dist/core/startUpdate.mjs.map +1 -1
- package/dist/core/{subscribe.js → subscribe.cjs} +3 -3
- package/dist/core/{subscribe.d.ts → subscribe.d.cts} +6 -6
- package/dist/core/subscribe.d.cts.map +1 -0
- package/dist/core/subscribe.d.mts.map +1 -1
- package/dist/core/subscribe.mjs.map +1 -1
- package/dist/core/{util.d.ts → util.d.cts} +1 -1
- package/dist/core/util.d.cts.map +1 -0
- package/dist/core/util.d.mts.map +1 -1
- package/dist/core/util.mjs.map +1 -1
- package/dist/core/{writeData.js → writeData.cjs} +6 -6
- package/dist/core/{writeData.d.ts → writeData.d.cts} +6 -6
- package/dist/core/writeData.d.cts.map +1 -0
- package/dist/core/writeData.d.mts +1 -1
- package/dist/core/writeData.d.mts.map +1 -1
- package/dist/core/writeData.mjs.map +1 -1
- package/dist/{index.js → index.cjs} +29 -29
- package/dist/{index.d.ts → index.d.cts} +31 -31
- package/dist/loadable-hooks/useClientSideDefer.cjs +14 -0
- package/dist/loadable-hooks/{useClientSideDefer.d.ts → useClientSideDefer.d.cts} +4 -4
- package/dist/loadable-hooks/useClientSideDefer.d.cts.map +1 -0
- package/dist/loadable-hooks/useClientSideDefer.d.mts.map +1 -1
- package/dist/loadable-hooks/{useConnectionSpecPagination.js → useConnectionSpecPagination.cjs} +13 -16
- package/dist/loadable-hooks/{useConnectionSpecPagination.d.ts → useConnectionSpecPagination.d.cts} +4 -4
- package/dist/loadable-hooks/useConnectionSpecPagination.d.cts.map +1 -0
- package/dist/loadable-hooks/useConnectionSpecPagination.d.mts.map +1 -1
- package/dist/loadable-hooks/useConnectionSpecPagination.mjs.map +1 -1
- package/dist/loadable-hooks/{useImperativeExposedMutationField.d.ts → useImperativeExposedMutationField.d.cts} +1 -1
- package/dist/loadable-hooks/useImperativeExposedMutationField.d.cts.map +1 -0
- package/dist/loadable-hooks/useImperativeExposedMutationField.d.mts.map +1 -1
- package/dist/loadable-hooks/{useImperativeLoadableField.js → useImperativeLoadableField.cjs} +4 -5
- package/dist/loadable-hooks/{useImperativeLoadableField.d.ts → useImperativeLoadableField.d.cts} +4 -4
- package/dist/loadable-hooks/useImperativeLoadableField.d.cts.map +1 -0
- package/dist/loadable-hooks/useImperativeLoadableField.d.mts.map +1 -1
- package/dist/loadable-hooks/{useSkipLimitPagination.js → useSkipLimitPagination.cjs} +13 -16
- package/dist/loadable-hooks/{useSkipLimitPagination.d.ts → useSkipLimitPagination.d.cts} +4 -4
- package/dist/loadable-hooks/useSkipLimitPagination.d.cts.map +1 -0
- package/dist/loadable-hooks/useSkipLimitPagination.d.mts.map +1 -1
- package/dist/loadable-hooks/useSkipLimitPagination.mjs.map +1 -1
- package/dist/react/{FragmentReader.js → FragmentReader.cjs} +1 -1
- package/dist/react/{FragmentReader.d.ts → FragmentReader.d.cts} +5 -5
- package/dist/react/FragmentReader.d.cts.map +1 -0
- package/dist/react/FragmentReader.d.mts.map +1 -1
- package/dist/react/{FragmentRenderer.js → FragmentRenderer.cjs} +2 -2
- package/dist/react/{FragmentRenderer.d.ts → FragmentRenderer.d.cts} +5 -5
- package/dist/react/FragmentRenderer.d.cts.map +1 -0
- package/dist/react/FragmentRenderer.d.mts.map +1 -1
- package/dist/react/{IsographEnvironmentProvider.js → IsographEnvironmentProvider.cjs} +1 -1
- package/dist/react/{IsographEnvironmentProvider.d.ts → IsographEnvironmentProvider.d.cts} +2 -2
- package/dist/react/IsographEnvironmentProvider.d.cts.map +1 -0
- package/dist/react/IsographEnvironmentProvider.d.mts.map +1 -1
- package/dist/react/{LoadableFieldReader.js → LoadableFieldReader.cjs} +3 -3
- package/dist/react/{LoadableFieldReader.d.ts → LoadableFieldReader.d.cts} +5 -5
- package/dist/react/LoadableFieldReader.d.cts.map +1 -0
- package/dist/react/LoadableFieldReader.d.mts.map +1 -1
- package/dist/react/{LoadableFieldRenderer.js → LoadableFieldRenderer.cjs} +3 -3
- package/dist/react/{LoadableFieldRenderer.d.ts → LoadableFieldRenderer.d.cts} +5 -5
- package/dist/react/LoadableFieldRenderer.d.cts.map +1 -0
- package/dist/react/LoadableFieldRenderer.d.mts.map +1 -1
- package/dist/react/{RenderAfterCommit__DO_NOT_USE.js → RenderAfterCommit__DO_NOT_USE.cjs} +1 -2
- package/dist/react/{RenderAfterCommit__DO_NOT_USE.d.ts → RenderAfterCommit__DO_NOT_USE.d.cts} +1 -2
- package/dist/react/RenderAfterCommit__DO_NOT_USE.d.cts.map +1 -0
- package/dist/react/RenderAfterCommit__DO_NOT_USE.d.mts +0 -1
- package/dist/react/RenderAfterCommit__DO_NOT_USE.d.mts.map +1 -1
- package/dist/react/{createIsographEnvironment.js → createIsographEnvironment.cjs} +2 -2
- package/dist/react/{createIsographEnvironment.d.ts → createIsographEnvironment.d.cts} +3 -3
- package/dist/react/createIsographEnvironment.d.cts.map +1 -0
- package/dist/react/createIsographEnvironment.d.mts +0 -1
- package/dist/react/createIsographEnvironment.d.mts.map +1 -1
- package/dist/react/{maybeUnwrapNetworkRequest.js → maybeUnwrapNetworkRequest.cjs} +1 -1
- package/dist/react/{useImperativeReference.js → useImperativeReference.cjs} +7 -8
- package/dist/react/{useImperativeReference.d.ts → useImperativeReference.d.cts} +5 -6
- package/dist/react/useImperativeReference.d.cts.map +1 -0
- package/dist/react/useImperativeReference.d.mts +0 -1
- package/dist/react/useImperativeReference.d.mts.map +1 -1
- package/dist/react/useLazyReference.cjs +18 -0
- package/dist/react/{useLazyReference.d.ts → useLazyReference.d.cts} +5 -6
- package/dist/react/useLazyReference.d.cts.map +1 -0
- package/dist/react/useLazyReference.d.mts +0 -1
- package/dist/react/useLazyReference.d.mts.map +1 -1
- package/dist/react/{useReadAndSubscribe.js → useReadAndSubscribe.cjs} +9 -10
- package/dist/react/{useReadAndSubscribe.d.ts → useReadAndSubscribe.d.cts} +4 -5
- package/dist/react/useReadAndSubscribe.d.cts.map +1 -0
- package/dist/react/useReadAndSubscribe.d.mts +0 -1
- package/dist/react/useReadAndSubscribe.d.mts.map +1 -1
- package/dist/react/useReadAndSubscribe.mjs.map +1 -1
- package/dist/react/{useRerenderOnChange.js → useRerenderOnChange.cjs} +3 -4
- package/dist/react/{useRerenderOnChange.d.ts → useRerenderOnChange.d.cts} +4 -4
- package/dist/react/useRerenderOnChange.d.cts.map +1 -0
- package/dist/react/useRerenderOnChange.d.mts.map +1 -1
- package/dist/react/{useResult.js → useResult.cjs} +7 -7
- package/dist/react/{useResult.d.ts → useResult.d.cts} +3 -3
- package/dist/react/useResult.d.cts.map +1 -0
- package/dist/react/useResult.d.mts.map +1 -1
- package/package.json +9 -9
- package/src/core/IsographEnvironment.ts +8 -4
- package/src/core/cache.ts +38 -25
- package/src/core/getOrCreateCacheForArtifact.ts +2 -2
- package/src/core/writeData.ts +4 -4
- package/src/tests/garbageCollection.test.ts +11 -11
- package/src/tests/normalizeData.test.ts +11 -3
- package/src/tests/optimisticProxy.test.ts +23 -23
- package/src/tests/startUpdate.test.ts +2 -2
- package/tsconfig.json +5 -4
- package/tsconfig.package.json +8 -0
- package/tsconfig.package.tsbuildinfo +1 -0
- package/tsconfig.test.json +12 -0
- package/tsconfig.test.tsbuildinfo +1 -0
- package/tsdown.config.ts +8 -0
- package/vitest.config.ts +1 -1
- package/dist/core/FragmentReference.d.ts.map +0 -1
- package/dist/core/IsographEnvironment.d.ts.map +0 -1
- package/dist/core/PromiseWrapper.d.ts.map +0 -1
- package/dist/core/brand.d.ts.map +0 -1
- package/dist/core/cache.d.ts +0 -37
- package/dist/core/cache.d.ts.map +0 -1
- package/dist/core/check.d.ts.map +0 -1
- package/dist/core/entrypoint.d.ts.map +0 -1
- package/dist/core/garbageCollection.d.ts.map +0 -1
- package/dist/core/logging.d.ts.map +0 -1
- package/dist/core/makeNetworkRequest.d.ts.map +0 -1
- package/dist/core/optimisticProxy.d.ts.map +0 -1
- package/dist/core/read.d.ts.map +0 -1
- package/dist/core/reader.d.ts.map +0 -1
- package/dist/core/subscribe.d.ts.map +0 -1
- package/dist/core/util.d.ts.map +0 -1
- package/dist/core/writeData.d.ts.map +0 -1
- package/dist/loadable-hooks/useClientSideDefer.d.ts.map +0 -1
- package/dist/loadable-hooks/useClientSideDefer.js +0 -15
- package/dist/loadable-hooks/useConnectionSpecPagination.d.ts.map +0 -1
- package/dist/loadable-hooks/useImperativeExposedMutationField.d.ts.map +0 -1
- package/dist/loadable-hooks/useImperativeLoadableField.d.ts.map +0 -1
- package/dist/loadable-hooks/useSkipLimitPagination.d.ts.map +0 -1
- package/dist/react/FragmentReader.d.ts.map +0 -1
- package/dist/react/FragmentRenderer.d.ts.map +0 -1
- package/dist/react/IsographEnvironmentProvider.d.ts.map +0 -1
- package/dist/react/LoadableFieldReader.d.ts.map +0 -1
- package/dist/react/LoadableFieldRenderer.d.ts.map +0 -1
- package/dist/react/RenderAfterCommit__DO_NOT_USE.d.ts.map +0 -1
- package/dist/react/createIsographEnvironment.d.ts.map +0 -1
- package/dist/react/useImperativeReference.d.ts.map +0 -1
- package/dist/react/useLazyReference.d.ts.map +0 -1
- package/dist/react/useLazyReference.js +0 -19
- package/dist/react/useReadAndSubscribe.d.ts.map +0 -1
- package/dist/react/useRerenderOnChange.d.ts.map +0 -1
- package/dist/react/useResult.d.ts.map +0 -1
- package/src/tests/tsconfig.json +0 -21
- package/tsconfig.pkg.json +0 -16
- /package/dist/core/{PromiseWrapper.js → PromiseWrapper.cjs} +0 -0
- /package/dist/core/{entrypoint.js → entrypoint.cjs} +0 -0
- /package/dist/core/{logging.js → logging.cjs} +0 -0
- /package/dist/core/{util.js → util.cjs} +0 -0
- /package/dist/loadable-hooks/{useImperativeExposedMutationField.js → useImperativeExposedMutationField.cjs} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writeData.d.mts","names":[],"sources":["../../src/core/writeData.ts"],"
|
|
1
|
+
{"version":3,"file":"writeData.d.mts","names":[],"sources":["../../src/core/writeData.ts"],"mappings":";;;;;;;iBAsBgB,SAAA,wBACS,qBAAA,2BACE,qBAAA,oBAAA,CAGzB,WAAA,EAAa,mBAAA,EACb,UAAA,EAAY,kBAAA,CACV,cAAA,EACA,iBAAA,EACA,gBAAA,EACA,gBAAA,GAEF,IAAA,EAAM,gBAAA,EACN,SAAA,EAAW,iBAAA,CAAkB,cAAA,IAC5B,eAAA,CAAgB,iBAAA,CAAkB,cAAA,EAAgB,iBAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writeData.mjs","names":[
|
|
1
|
+
{"version":3,"file":"writeData.mjs","names":[],"sources":["../../src/core/writeData.ts"],"sourcesContent":["import type { ItemCleanupPair } from '@isograph/disposable-types';\nimport {\n type EncounteredIds,\n type NetworkResponseObject,\n normalizeData,\n} from './cache';\nimport type { IsographEntrypoint, NormalizationAst } from './entrypoint';\nimport type {\n ExtractParameters,\n FragmentReference,\n UnknownTReadFromStore,\n} from './FragmentReference';\nimport {\n type IsographEnvironment,\n ROOT_ID,\n getOrLoadReaderWithRefetchQueries,\n} from './IsographEnvironment';\nimport { logMessage } from './logging';\nimport { retainQueryWithoutMakingNetworkRequest } from './makeNetworkRequest';\nimport { addNetworkResponseStoreLayer } from './optimisticProxy';\nimport { callSubscriptions } from './subscribe';\n\nexport function writeData<\n TReadFromStore extends UnknownTReadFromStore,\n TRawResponseType extends NetworkResponseObject,\n TClientFieldValue,\n>(\n environment: IsographEnvironment,\n entrypoint: IsographEntrypoint<\n TReadFromStore,\n TClientFieldValue,\n NormalizationAst,\n TRawResponseType\n >,\n data: TRawResponseType,\n variables: ExtractParameters<TReadFromStore>,\n): ItemCleanupPair<FragmentReference<TReadFromStore, TClientFieldValue>> {\n const encounteredIds: EncounteredIds = new Map();\n environment.store = addNetworkResponseStoreLayer(environment.store);\n normalizeData(\n environment,\n environment.store,\n entrypoint.networkRequestInfo.normalizationAst.selections,\n data,\n variables,\n { __link: ROOT_ID, __typename: entrypoint.concreteType },\n encounteredIds,\n );\n logMessage(environment, () => ({\n kind: 'AfterNormalization',\n store: environment.store,\n encounteredIds,\n }));\n\n callSubscriptions(environment, encounteredIds);\n\n const { fieldName, readerArtifactKind, readerWithRefetchQueries } =\n getOrLoadReaderWithRefetchQueries(\n environment,\n entrypoint.readerWithRefetchQueries,\n );\n const [networkRequest, disposeNetworkRequest] =\n retainQueryWithoutMakingNetworkRequest(environment, entrypoint, variables);\n\n return [\n {\n kind: 'FragmentReference',\n readerWithRefetchQueries,\n fieldName,\n readerArtifactKind,\n root: { __link: ROOT_ID, __typename: entrypoint.concreteType },\n variables,\n networkRequest,\n },\n () => {\n disposeNetworkRequest();\n },\n ];\n}\n"],"mappings":";;;;;;;;AAsBA,SAAgB,UAKd,aACA,YAMA,MACA,WACuE;CACvE,MAAM,iCAAiC,IAAI,KAAK;AAChD,aAAY,QAAQ,6BAA6B,YAAY,MAAM;AACnE,eACE,aACA,YAAY,OACZ,WAAW,mBAAmB,iBAAiB,YAC/C,MACA,WACA;EAAE,QAAQ;EAAS,YAAY,WAAW;EAAc,EACxD,eACD;AACD,YAAW,oBAAoB;EAC7B,MAAM;EACN,OAAO,YAAY;EACnB;EACD,EAAE;AAEH,mBAAkB,aAAa,eAAe;CAE9C,MAAM,EAAE,WAAW,oBAAoB,6BACrC,kCACE,aACA,WAAW,yBACZ;CACH,MAAM,CAAC,gBAAgB,yBACrB,uCAAuC,aAAa,YAAY,UAAU;AAE5E,QAAO,CACL;EACE,MAAM;EACN;EACA;EACA;EACA,MAAM;GAAE,QAAQ;GAAS,YAAY,WAAW;GAAc;EAC9D;EACA;EACD,QACK;AACJ,yBAAuB;GAE1B"}
|
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
const require_PromiseWrapper = require('./core/PromiseWrapper.
|
|
2
|
-
const require_IsographEnvironment = require('./core/IsographEnvironment.
|
|
3
|
-
const require_logging = require('./core/logging.
|
|
4
|
-
const require_FragmentReference = require('./core/FragmentReference.
|
|
5
|
-
const require_check = require('./core/check.
|
|
6
|
-
const require_makeNetworkRequest = require('./core/makeNetworkRequest.
|
|
7
|
-
const require_read = require('./core/read.
|
|
8
|
-
const require_subscribe = require('./core/subscribe.
|
|
9
|
-
const require_cache = require('./core/cache.
|
|
10
|
-
const require_garbageCollection = require('./core/garbageCollection.
|
|
11
|
-
const require_writeData = require('./core/writeData.
|
|
12
|
-
const require_entrypoint = require('./core/entrypoint.
|
|
13
|
-
const require_IsographEnvironmentProvider = require('./react/IsographEnvironmentProvider.
|
|
14
|
-
const require_useImperativeReference = require('./react/useImperativeReference.
|
|
15
|
-
const require_useRerenderOnChange = require('./react/useRerenderOnChange.
|
|
16
|
-
const require_useReadAndSubscribe = require('./react/useReadAndSubscribe.
|
|
17
|
-
const require_useResult = require('./react/useResult.
|
|
18
|
-
const require_FragmentRenderer = require('./react/FragmentRenderer.
|
|
19
|
-
const require_FragmentReader = require('./react/FragmentReader.
|
|
20
|
-
const require_useClientSideDefer = require('./loadable-hooks/useClientSideDefer.
|
|
21
|
-
const require_LoadableFieldReader = require('./react/LoadableFieldReader.
|
|
22
|
-
const require_LoadableFieldRenderer = require('./react/LoadableFieldRenderer.
|
|
23
|
-
const require_useLazyReference = require('./react/useLazyReference.
|
|
24
|
-
const require_RenderAfterCommit__DO_NOT_USE = require('./react/RenderAfterCommit__DO_NOT_USE.
|
|
25
|
-
const require_createIsographEnvironment = require('./react/createIsographEnvironment.
|
|
26
|
-
const require_useImperativeExposedMutationField = require('./loadable-hooks/useImperativeExposedMutationField.
|
|
27
|
-
const require_useSkipLimitPagination = require('./loadable-hooks/useSkipLimitPagination.
|
|
28
|
-
const require_useConnectionSpecPagination = require('./loadable-hooks/useConnectionSpecPagination.
|
|
29
|
-
const require_useImperativeLoadableField = require('./loadable-hooks/useImperativeLoadableField.
|
|
1
|
+
const require_PromiseWrapper = require('./core/PromiseWrapper.cjs');
|
|
2
|
+
const require_IsographEnvironment = require('./core/IsographEnvironment.cjs');
|
|
3
|
+
const require_logging = require('./core/logging.cjs');
|
|
4
|
+
const require_FragmentReference = require('./core/FragmentReference.cjs');
|
|
5
|
+
const require_check = require('./core/check.cjs');
|
|
6
|
+
const require_makeNetworkRequest = require('./core/makeNetworkRequest.cjs');
|
|
7
|
+
const require_read = require('./core/read.cjs');
|
|
8
|
+
const require_subscribe = require('./core/subscribe.cjs');
|
|
9
|
+
const require_cache = require('./core/cache.cjs');
|
|
10
|
+
const require_garbageCollection = require('./core/garbageCollection.cjs');
|
|
11
|
+
const require_writeData = require('./core/writeData.cjs');
|
|
12
|
+
const require_entrypoint = require('./core/entrypoint.cjs');
|
|
13
|
+
const require_IsographEnvironmentProvider = require('./react/IsographEnvironmentProvider.cjs');
|
|
14
|
+
const require_useImperativeReference = require('./react/useImperativeReference.cjs');
|
|
15
|
+
const require_useRerenderOnChange = require('./react/useRerenderOnChange.cjs');
|
|
16
|
+
const require_useReadAndSubscribe = require('./react/useReadAndSubscribe.cjs');
|
|
17
|
+
const require_useResult = require('./react/useResult.cjs');
|
|
18
|
+
const require_FragmentRenderer = require('./react/FragmentRenderer.cjs');
|
|
19
|
+
const require_FragmentReader = require('./react/FragmentReader.cjs');
|
|
20
|
+
const require_useClientSideDefer = require('./loadable-hooks/useClientSideDefer.cjs');
|
|
21
|
+
const require_LoadableFieldReader = require('./react/LoadableFieldReader.cjs');
|
|
22
|
+
const require_LoadableFieldRenderer = require('./react/LoadableFieldRenderer.cjs');
|
|
23
|
+
const require_useLazyReference = require('./react/useLazyReference.cjs');
|
|
24
|
+
const require_RenderAfterCommit__DO_NOT_USE = require('./react/RenderAfterCommit__DO_NOT_USE.cjs');
|
|
25
|
+
const require_createIsographEnvironment = require('./react/createIsographEnvironment.cjs');
|
|
26
|
+
const require_useImperativeExposedMutationField = require('./loadable-hooks/useImperativeExposedMutationField.cjs');
|
|
27
|
+
const require_useSkipLimitPagination = require('./loadable-hooks/useSkipLimitPagination.cjs');
|
|
28
|
+
const require_useConnectionSpecPagination = require('./loadable-hooks/useConnectionSpecPagination.cjs');
|
|
29
|
+
const require_useImperativeLoadableField = require('./loadable-hooks/useImperativeLoadableField.cjs');
|
|
30
30
|
|
|
31
31
|
exports.FragmentReader = require_FragmentReader.FragmentReader;
|
|
32
32
|
exports.FragmentRenderer = require_FragmentRenderer.FragmentRenderer;
|
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
import { CheckResult, FetchOptions, RequiredFetchOptions, RequiredShouldFetch, ShouldFetch, check } from "./core/check.
|
|
2
|
-
import { AnyError, NOT_SET, NotSet, PromiseState, PromiseWrapper, Result, getPromiseState, readPromise, wrapPromise, wrapResolvedValue } from "./core/PromiseWrapper.
|
|
3
|
-
import { Argument, ArgumentName, ArgumentValue, Arguments, CombineWithIntrinsicAttributes, ExtractSecondParam } from "./core/util.
|
|
4
|
-
import { ComponentReaderArtifact, EagerReaderArtifact, LoadableField, LoadablySelectedField, ReaderAst, ReaderAstNode, ReaderImperativelyLoadedField, ReaderLinkField, ReaderLinkedField, ReaderNonLoadableResolverField, ReaderScalarField, RefetchReaderArtifact, ResolverFirstParameter, StableId, StartUpdate, TopLevelReaderArtifact } from "./core/reader.
|
|
5
|
-
import { NetworkRequestReaderOptions, ReadDataResult, WithEncounteredRecords, readButDoNotEvaluate } from "./core/read.
|
|
6
|
-
import { LogFunction, LogMessage, WrappedLogFunction, logMessage, registerLogger } from "./core/logging.
|
|
7
|
-
import { AnyChangesToRecordSubscription, AnyRecordSubscription, BaseStoreLayerData, CacheMap, ComponentOrFieldName, DataId, DataTypeValueLinked, DataTypeValueScalar, FieldCache, FragmentSubscription, IsographEnvironment, IsographNetworkFunction, Link, MissingFieldHandler, ROOT_ID, StoreLink, StoreRecord, StringifiedArgs, Subscription, Subscriptions, TypeName, createIsographStore } from "./core/IsographEnvironment.
|
|
8
|
-
import { ExtractData, ExtractParameters, ExtractStartUpdate, FragmentReference, StableIdForFragmentReference, UnknownTReadFromStore, VariableValue, Variables, stableIdForFragmentReference } from "./core/FragmentReference.
|
|
9
|
-
import { EncounteredIds, NetworkResponseObject, NetworkResponseScalarValue, NetworkResponseValue, normalizeData } from "./core/cache.
|
|
10
|
-
import { ExtractClientFieldValue, ExtractProps, ExtractReadFromStore, ExtractResolverResult, FragmentReferenceOfEntrypoint, IsographEntrypoint, IsographEntrypointLoader, IsographOperation, IsographPersistedOperation, IsographPersistedOperationExtraInfo, NetworkRequestInfo, NormalizationAst, NormalizationAstLoader, NormalizationAstNode, NormalizationAstNodes, NormalizationInlineFragment, NormalizationLinkedField, NormalizationScalarField, ReaderWithRefetchQueries, RefetchQueryNormalizationArtifact, RefetchQueryNormalizationArtifactWrapper, assertIsEntrypoint } from "./core/entrypoint.
|
|
11
|
-
import { DidUnretainSomeQuery, RetainedQuery, garbageCollectEnvironment, retainQuery, unretainQuery } from "./core/garbageCollection.
|
|
12
|
-
import { callSubscriptions, subscribe } from "./core/subscribe.
|
|
13
|
-
import { writeData } from "./core/writeData.
|
|
14
|
-
import { makeNetworkRequest } from "./core/makeNetworkRequest.
|
|
15
|
-
import { IsographEnvironmentProvider, IsographEnvironmentProviderProps, useIsographEnvironment } from "./react/IsographEnvironmentProvider.
|
|
16
|
-
import { UseImperativeReferenceResult, useImperativeReference } from "./react/useImperativeReference.
|
|
17
|
-
import { FragmentRenderer, IsExactlyIntrinsicAttributes } from "./react/FragmentRenderer.
|
|
18
|
-
import { FragmentReader } from "./react/FragmentReader.
|
|
19
|
-
import { LoadableFieldReader } from "./react/LoadableFieldReader.
|
|
20
|
-
import { LoadableFieldRenderer } from "./react/LoadableFieldRenderer.
|
|
21
|
-
import { useResult } from "./react/useResult.
|
|
22
|
-
import { useReadAndSubscribe, useSubscribeToMultiple } from "./react/useReadAndSubscribe.
|
|
23
|
-
import { useLazyReference } from "./react/useLazyReference.
|
|
24
|
-
import { useRerenderOnChange } from "./react/useRerenderOnChange.
|
|
25
|
-
import { RenderAfterCommit__DO_NOT_USE } from "./react/RenderAfterCommit__DO_NOT_USE.
|
|
26
|
-
import { createIsographEnvironment } from "./react/createIsographEnvironment.
|
|
27
|
-
import { useClientSideDefer } from "./loadable-hooks/useClientSideDefer.
|
|
28
|
-
import { UseImperativeLoadableFieldReturn, useImperativeExposedMutationField } from "./loadable-hooks/useImperativeExposedMutationField.
|
|
29
|
-
import { UseSkipLimitPaginationArgs, UseSkipLimitReturnValue, useSkipLimitPagination } from "./loadable-hooks/useSkipLimitPagination.
|
|
30
|
-
import { Connection, PageInfo, UseConnectionSpecPaginationArgs, UsePaginationReturnValue, useConnectionSpecPagination } from "./loadable-hooks/useConnectionSpecPagination.
|
|
31
|
-
import { UseImperativeLoadableFieldReturn as UseImperativeLoadableFieldReturn$1, useImperativeLoadableField } from "./loadable-hooks/useImperativeLoadableField.
|
|
1
|
+
import { CheckResult, FetchOptions, RequiredFetchOptions, RequiredShouldFetch, ShouldFetch, check } from "./core/check.cjs";
|
|
2
|
+
import { AnyError, NOT_SET, NotSet, PromiseState, PromiseWrapper, Result, getPromiseState, readPromise, wrapPromise, wrapResolvedValue } from "./core/PromiseWrapper.cjs";
|
|
3
|
+
import { Argument, ArgumentName, ArgumentValue, Arguments, CombineWithIntrinsicAttributes, ExtractSecondParam } from "./core/util.cjs";
|
|
4
|
+
import { ComponentReaderArtifact, EagerReaderArtifact, LoadableField, LoadablySelectedField, ReaderAst, ReaderAstNode, ReaderImperativelyLoadedField, ReaderLinkField, ReaderLinkedField, ReaderNonLoadableResolverField, ReaderScalarField, RefetchReaderArtifact, ResolverFirstParameter, StableId, StartUpdate, TopLevelReaderArtifact } from "./core/reader.cjs";
|
|
5
|
+
import { NetworkRequestReaderOptions, ReadDataResult, WithEncounteredRecords, readButDoNotEvaluate } from "./core/read.cjs";
|
|
6
|
+
import { LogFunction, LogMessage, WrappedLogFunction, logMessage, registerLogger } from "./core/logging.cjs";
|
|
7
|
+
import { AnyChangesToRecordSubscription, AnyRecordSubscription, BaseStoreLayerData, CacheMap, ComponentOrFieldName, DataId, DataTypeValueLinked, DataTypeValueScalar, FieldCache, FragmentSubscription, IsographEnvironment, IsographNetworkFunction, Link, MissingFieldHandler, ROOT_ID, StoreLink, StoreRecord, StringifiedArgs, Subscription, Subscriptions, TypeName, createIsographStore } from "./core/IsographEnvironment.cjs";
|
|
8
|
+
import { ExtractData, ExtractParameters, ExtractStartUpdate, FragmentReference, StableIdForFragmentReference, UnknownTReadFromStore, VariableValue, Variables, stableIdForFragmentReference } from "./core/FragmentReference.cjs";
|
|
9
|
+
import { EncounteredIds, NetworkResponseObject, NetworkResponseScalarValue, NetworkResponseValue, normalizeData } from "./core/cache.cjs";
|
|
10
|
+
import { ExtractClientFieldValue, ExtractProps, ExtractReadFromStore, ExtractResolverResult, FragmentReferenceOfEntrypoint, IsographEntrypoint, IsographEntrypointLoader, IsographOperation, IsographPersistedOperation, IsographPersistedOperationExtraInfo, NetworkRequestInfo, NormalizationAst, NormalizationAstLoader, NormalizationAstNode, NormalizationAstNodes, NormalizationInlineFragment, NormalizationLinkedField, NormalizationScalarField, ReaderWithRefetchQueries, RefetchQueryNormalizationArtifact, RefetchQueryNormalizationArtifactWrapper, assertIsEntrypoint } from "./core/entrypoint.cjs";
|
|
11
|
+
import { DidUnretainSomeQuery, RetainedQuery, garbageCollectEnvironment, retainQuery, unretainQuery } from "./core/garbageCollection.cjs";
|
|
12
|
+
import { callSubscriptions, subscribe } from "./core/subscribe.cjs";
|
|
13
|
+
import { writeData } from "./core/writeData.cjs";
|
|
14
|
+
import { makeNetworkRequest } from "./core/makeNetworkRequest.cjs";
|
|
15
|
+
import { IsographEnvironmentProvider, IsographEnvironmentProviderProps, useIsographEnvironment } from "./react/IsographEnvironmentProvider.cjs";
|
|
16
|
+
import { UseImperativeReferenceResult, useImperativeReference } from "./react/useImperativeReference.cjs";
|
|
17
|
+
import { FragmentRenderer, IsExactlyIntrinsicAttributes } from "./react/FragmentRenderer.cjs";
|
|
18
|
+
import { FragmentReader } from "./react/FragmentReader.cjs";
|
|
19
|
+
import { LoadableFieldReader } from "./react/LoadableFieldReader.cjs";
|
|
20
|
+
import { LoadableFieldRenderer } from "./react/LoadableFieldRenderer.cjs";
|
|
21
|
+
import { useResult } from "./react/useResult.cjs";
|
|
22
|
+
import { useReadAndSubscribe, useSubscribeToMultiple } from "./react/useReadAndSubscribe.cjs";
|
|
23
|
+
import { useLazyReference } from "./react/useLazyReference.cjs";
|
|
24
|
+
import { useRerenderOnChange } from "./react/useRerenderOnChange.cjs";
|
|
25
|
+
import { RenderAfterCommit__DO_NOT_USE } from "./react/RenderAfterCommit__DO_NOT_USE.cjs";
|
|
26
|
+
import { createIsographEnvironment } from "./react/createIsographEnvironment.cjs";
|
|
27
|
+
import { useClientSideDefer } from "./loadable-hooks/useClientSideDefer.cjs";
|
|
28
|
+
import { UseImperativeLoadableFieldReturn, useImperativeExposedMutationField } from "./loadable-hooks/useImperativeExposedMutationField.cjs";
|
|
29
|
+
import { UseSkipLimitPaginationArgs, UseSkipLimitReturnValue, useSkipLimitPagination } from "./loadable-hooks/useSkipLimitPagination.cjs";
|
|
30
|
+
import { Connection, PageInfo, UseConnectionSpecPaginationArgs, UsePaginationReturnValue, useConnectionSpecPagination } from "./loadable-hooks/useConnectionSpecPagination.cjs";
|
|
31
|
+
import { UseImperativeLoadableFieldReturn as UseImperativeLoadableFieldReturn$1, useImperativeLoadableField } from "./loadable-hooks/useImperativeLoadableField.cjs";
|
|
32
32
|
export { type AnyChangesToRecordSubscription, type AnyError, type AnyRecordSubscription, type Argument, type ArgumentName, type ArgumentValue, type Arguments, type CacheMap, type CheckResult, type CombineWithIntrinsicAttributes, type ComponentOrFieldName, type ComponentReaderArtifact, type Connection, type DataId, type DataTypeValueLinked, type DataTypeValueScalar, type DidUnretainSomeQuery, type EagerReaderArtifact, type EncounteredIds, type ExtractClientFieldValue, type ExtractData, type ExtractParameters, type ExtractProps, type ExtractReadFromStore, type ExtractResolverResult, type ExtractSecondParam, type ExtractStartUpdate, type FetchOptions, type FieldCache, FragmentReader, type FragmentReference, type FragmentReferenceOfEntrypoint, FragmentRenderer, type FragmentSubscription, type IsExactlyIntrinsicAttributes, type IsographEntrypoint, type IsographEntrypointLoader, type IsographEnvironment, IsographEnvironmentProvider, type IsographEnvironmentProviderProps, type IsographNetworkFunction, type IsographOperation, type IsographPersistedOperation, type IsographPersistedOperationExtraInfo, type BaseStoreLayerData as IsographStore, type Link, type LoadableField, LoadableFieldReader, LoadableFieldRenderer, type LogFunction, type LogMessage, type MissingFieldHandler, NOT_SET, type NetworkRequestInfo, type NetworkRequestReaderOptions, type NetworkResponseObject, type NetworkResponseScalarValue, type NetworkResponseValue, type NormalizationAst, type NormalizationAstLoader, type NormalizationAstNode, type NormalizationAstNodes, type NormalizationInlineFragment, type NormalizationLinkedField, type NormalizationScalarField, type NotSet, type PageInfo, type PromiseState, type PromiseWrapper, ROOT_ID, type ReadDataResult, type ReaderAst, type ReaderAstNode, type ReaderImperativelyLoadedField, type ReaderLinkField, type ReaderLinkedField, type LoadablySelectedField as ReaderLoadableField, type ReaderNonLoadableResolverField, type ReaderScalarField, type ReaderWithRefetchQueries, type RefetchQueryNormalizationArtifact, type RefetchQueryNormalizationArtifactWrapper, type RefetchReaderArtifact, RenderAfterCommit__DO_NOT_USE, type RequiredFetchOptions, type RequiredShouldFetch, type ResolverFirstParameter, type Result, type RetainedQuery, type ShouldFetch, type StableId, type StableIdForFragmentReference, type StartUpdate, type StoreLink, type StoreRecord, type StringifiedArgs, type Subscription, type Subscriptions, type TopLevelReaderArtifact, type TypeName, type UnknownTReadFromStore, type UseConnectionSpecPaginationArgs, type UseImperativeLoadableFieldReturn as UseImperativeExposedMutationFieldReturn, type UseImperativeLoadableFieldReturn$1 as UseImperativeLoadableFieldReturn, type UseImperativeReferenceResult, type UsePaginationReturnValue, type UseSkipLimitPaginationArgs, type UseSkipLimitReturnValue, type VariableValue, type Variables, type WithEncounteredRecords, type WrappedLogFunction, assertIsEntrypoint, callSubscriptions, check, createIsographEnvironment, createIsographStore, garbageCollectEnvironment, getPromiseState, logMessage, makeNetworkRequest, normalizeData, readButDoNotEvaluate, readPromise, registerLogger, retainQuery, stableIdForFragmentReference, subscribe, unretainQuery, useClientSideDefer, useConnectionSpecPagination, useImperativeExposedMutationField, useImperativeLoadableField, useImperativeReference, useIsographEnvironment, useLazyReference, useReadAndSubscribe, useRerenderOnChange, useResult, useSkipLimitPagination, useSubscribeToMultiple, wrapPromise, wrapResolvedValue, writeData };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_cache = require('../core/cache.cjs');
|
|
3
|
+
const require_IsographEnvironmentProvider = require('../react/IsographEnvironmentProvider.cjs');
|
|
4
|
+
let _isograph_react_disposable_state = require("@isograph/react-disposable-state");
|
|
5
|
+
|
|
6
|
+
//#region src/loadable-hooks/useClientSideDefer.ts
|
|
7
|
+
function useClientSideDefer(loadableField, ...maybeRequiredArgs) {
|
|
8
|
+
const [args, fetchOptions] = maybeRequiredArgs;
|
|
9
|
+
const [id, loader] = loadableField(args, fetchOptions ?? {});
|
|
10
|
+
return { fragmentReference: (0, _isograph_react_disposable_state.useLazyDisposableState)(require_cache.getOrCreateItemInSuspenseCache(require_IsographEnvironmentProvider.useIsographEnvironment(), id, loader)).state };
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
//#endregion
|
|
14
|
+
exports.useClientSideDefer = useClientSideDefer;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { FetchOptions } from "../core/check.
|
|
2
|
-
import { LoadableField } from "../core/reader.
|
|
3
|
-
import { ExtractParameters, FragmentReference, UnknownTReadFromStore } from "../core/FragmentReference.
|
|
1
|
+
import { FetchOptions } from "../core/check.cjs";
|
|
2
|
+
import { LoadableField } from "../core/reader.cjs";
|
|
3
|
+
import { ExtractParameters, FragmentReference, UnknownTReadFromStore } from "../core/FragmentReference.cjs";
|
|
4
4
|
|
|
5
5
|
//#region src/loadable-hooks/useClientSideDefer.d.ts
|
|
6
6
|
type ArgsWithoutProvidedArgs<TReadFromStore extends UnknownTReadFromStore, TProvidedArgs extends object> = Omit<ExtractParameters<TReadFromStore>, keyof TProvidedArgs>;
|
|
@@ -9,4 +9,4 @@ declare function useClientSideDefer<TReadFromStore extends UnknownTReadFromStore
|
|
|
9
9
|
};
|
|
10
10
|
//#endregion
|
|
11
11
|
export { useClientSideDefer };
|
|
12
|
-
//# sourceMappingURL=useClientSideDefer.d.
|
|
12
|
+
//# sourceMappingURL=useClientSideDefer.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useClientSideDefer.d.cts","names":[],"sources":["../../src/loadable-hooks/useClientSideDefer.ts"],"mappings":";;;;;KAWK,uBAAA,wBACoB,qBAAA,kCAErB,IAAA,CAAK,iBAAA,CAAkB,cAAA,SAAuB,aAAA;AAAA,iBAElC,kBAAA,wBACS,qBAAA,wCAAA,CAIvB,aAAA,EAAe,aAAA,CACb,cAAA,EACA,OAAA,EACA,IAAA,CAAK,iBAAA,CAAkB,cAAA,SAAuB,aAAA,OAE7C,iBAAA,aAA8B,uBAAA,CAC/B,cAAA,EACA,aAAA,KAGI,IAAA,GAAO,uBAAA,CAAwB,cAAA,EAAgB,aAAA,GAC/C,YAAA,GAAe,YAAA,CAAa,OAAA,aAG5B,IAAA,EAAM,uBAAA,CAAwB,cAAA,EAAgB,aAAA,GAC9C,YAAA,GAAe,YAAA,CAAa,OAAA;EAE/B,iBAAA,EAAmB,iBAAA,CAAkB,cAAA,EAAgB,OAAA;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useClientSideDefer.d.mts","names":[],"sources":["../../src/loadable-hooks/useClientSideDefer.ts"],"
|
|
1
|
+
{"version":3,"file":"useClientSideDefer.d.mts","names":[],"sources":["../../src/loadable-hooks/useClientSideDefer.ts"],"mappings":";;;;;KAWK,uBAAA,wBACoB,qBAAA,kCAErB,IAAA,CAAK,iBAAA,CAAkB,cAAA,SAAuB,aAAA;AAAA,iBAElC,kBAAA,wBACS,qBAAA,wCAAA,CAIvB,aAAA,EAAe,aAAA,CACb,cAAA,EACA,OAAA,EACA,IAAA,CAAK,iBAAA,CAAkB,cAAA,SAAuB,aAAA,OAE7C,iBAAA,aAA8B,uBAAA,CAC/B,cAAA,EACA,aAAA,KAGI,IAAA,GAAO,uBAAA,CAAwB,cAAA,EAAgB,aAAA,GAC/C,YAAA,GAAe,YAAA,CAAa,OAAA,aAG5B,IAAA,EAAM,uBAAA,CAAwB,cAAA,EAAgB,aAAA,GAC9C,YAAA,GAAe,YAAA,CAAa,OAAA;EAE/B,iBAAA,EAAmB,iBAAA,CAAkB,cAAA,EAAgB,OAAA;AAAA"}
|
package/dist/loadable-hooks/{useConnectionSpecPagination.js → useConnectionSpecPagination.cjs}
RENAMED
|
@@ -1,17 +1,14 @@
|
|
|
1
|
-
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.
|
|
2
|
-
const require_PromiseWrapper = require('../core/PromiseWrapper.
|
|
3
|
-
const require_startUpdate = require('../core/startUpdate.
|
|
4
|
-
const require_read = require('../core/read.
|
|
5
|
-
const require_cache = require('../core/cache.
|
|
6
|
-
const require_IsographEnvironmentProvider = require('../react/IsographEnvironmentProvider.
|
|
7
|
-
const require_maybeUnwrapNetworkRequest = require('../react/maybeUnwrapNetworkRequest.
|
|
8
|
-
const require_useReadAndSubscribe = require('../react/useReadAndSubscribe.
|
|
9
|
-
let
|
|
10
|
-
__isograph_react_disposable_state = require_rolldown_runtime.__toESM(__isograph_react_disposable_state);
|
|
1
|
+
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_PromiseWrapper = require('../core/PromiseWrapper.cjs');
|
|
3
|
+
const require_startUpdate = require('../core/startUpdate.cjs');
|
|
4
|
+
const require_read = require('../core/read.cjs');
|
|
5
|
+
const require_cache = require('../core/cache.cjs');
|
|
6
|
+
const require_IsographEnvironmentProvider = require('../react/IsographEnvironmentProvider.cjs');
|
|
7
|
+
const require_maybeUnwrapNetworkRequest = require('../react/maybeUnwrapNetworkRequest.cjs');
|
|
8
|
+
const require_useReadAndSubscribe = require('../react/useReadAndSubscribe.cjs');
|
|
9
|
+
let _isograph_react_disposable_state = require("@isograph/react-disposable-state");
|
|
11
10
|
let react = require("react");
|
|
12
|
-
|
|
13
|
-
let __isograph_reference_counted_pointer = require("@isograph/reference-counted-pointer");
|
|
14
|
-
__isograph_reference_counted_pointer = require_rolldown_runtime.__toESM(__isograph_reference_counted_pointer);
|
|
11
|
+
let _isograph_reference_counted_pointer = require("@isograph/reference-counted-pointer");
|
|
15
12
|
|
|
16
13
|
//#region src/loadable-hooks/useConnectionSpecPagination.ts
|
|
17
14
|
function flatten(arr) {
|
|
@@ -24,7 +21,7 @@ function useConnectionSpecPagination(loadableField, initialState) {
|
|
|
24
21
|
suspendIfInFlight: true,
|
|
25
22
|
throwOnNetworkError: true
|
|
26
23
|
};
|
|
27
|
-
const { state, setState } = (0,
|
|
24
|
+
const { state, setState } = (0, _isograph_react_disposable_state.useUpdatableDisposableState)();
|
|
28
25
|
const environment = require_IsographEnvironmentProvider.useIsographEnvironment();
|
|
29
26
|
function readCompletedFragmentReferences(completedReferences) {
|
|
30
27
|
const results = completedReferences.map((fragmentReference, i) => {
|
|
@@ -64,7 +61,7 @@ function useConnectionSpecPagination(loadableField, initialState) {
|
|
|
64
61
|
});
|
|
65
62
|
}
|
|
66
63
|
const getFetchMore = (after) => (count, fetchOptions) => {
|
|
67
|
-
const newPointer = (0,
|
|
64
|
+
const newPointer = (0, _isograph_reference_counted_pointer.createReferenceCountedPointer)(loadableField({
|
|
68
65
|
after,
|
|
69
66
|
first: count
|
|
70
67
|
}, fetchOptions ?? {})[1]());
|
|
@@ -81,7 +78,7 @@ function useConnectionSpecPagination(loadableField, initialState) {
|
|
|
81
78
|
}]);
|
|
82
79
|
};
|
|
83
80
|
const [, rerender] = (0, react.useState)({});
|
|
84
|
-
const loadedReferences = state ===
|
|
81
|
+
const loadedReferences = state === _isograph_react_disposable_state.UNASSIGNED_STATE ? [] : state;
|
|
85
82
|
const mostRecentItem = loadedReferences[loadedReferences.length - 1];
|
|
86
83
|
const mostRecentFragmentReference = mostRecentItem?.[0].getItemIfNotDisposed();
|
|
87
84
|
if (mostRecentItem != null && mostRecentFragmentReference == null) throw new Error("FragmentReference is unexpectedly disposed. This is indicative of a bug in Isograph.");
|
package/dist/loadable-hooks/{useConnectionSpecPagination.d.ts → useConnectionSpecPagination.d.cts}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { FetchOptions } from "../core/check.
|
|
2
|
-
import { LoadableField } from "../core/reader.
|
|
3
|
-
import { FragmentReference, UnknownTReadFromStore } from "../core/FragmentReference.
|
|
1
|
+
import { FetchOptions } from "../core/check.cjs";
|
|
2
|
+
import { LoadableField } from "../core/reader.cjs";
|
|
3
|
+
import { FragmentReference, UnknownTReadFromStore } from "../core/FragmentReference.cjs";
|
|
4
4
|
|
|
5
5
|
//#region src/loadable-hooks/useConnectionSpecPagination.d.ts
|
|
6
6
|
type UsePaginationReturnValue<TReadFromStore extends UnknownTReadFromStore, TItem> = {
|
|
@@ -30,4 +30,4 @@ type UseConnectionSpecPaginationArgs = {
|
|
|
30
30
|
declare function useConnectionSpecPagination<TReadFromStore extends UnknownTReadFromStore, TItem>(loadableField: LoadableField<TReadFromStore, Connection<TItem>, UseConnectionSpecPaginationArgs>, initialState?: PageInfo): UsePaginationReturnValue<TReadFromStore, TItem>;
|
|
31
31
|
//#endregion
|
|
32
32
|
export { Connection, PageInfo, UseConnectionSpecPaginationArgs, UsePaginationReturnValue, useConnectionSpecPagination };
|
|
33
|
-
//# sourceMappingURL=useConnectionSpecPagination.d.
|
|
33
|
+
//# sourceMappingURL=useConnectionSpecPagination.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useConnectionSpecPagination.d.cts","names":[],"sources":["../../src/loadable-hooks/useConnectionSpecPagination.ts"],"mappings":";;;;;KAyBY,wBAAA,wBACa,qBAAA;EAInB,IAAA;EACA,eAAA,EAAiB,iBAAA,CAAkB,cAAA,EAAgB,UAAA,CAAW,KAAA;EAC9D,OAAA,EAAS,aAAA,CAAc,KAAA;AAAA;EAGvB,IAAA;EACA,SAAA,GACE,KAAA,UACA,YAAA,GAAe,YAAA,CAAa,UAAA,CAAW,KAAA;EAEzC,OAAA,EAAS,aAAA,CAAc,KAAA;AAAA;EAGvB,IAAA;EACA,OAAA,EAAS,aAAA,CAAc,KAAA;AAAA;AAAA,KAyBjB,QAAA;EAAA,SACD,WAAA;EAAA,SACA,SAAA;AAAA;AAAA,KAGC,UAAA;EAAA,SACD,KAAA,EAAO,aAAA,CAAc,CAAA;EAAA,SACrB,QAAA,EAAU,QAAA;AAAA;AAAA,KAQT,+BAAA;EACV,KAAA;EACA,KAAA;AAAA;AAAA,iBAGc,2BAAA,wBACS,qBAAA,QAAA,CAGvB,aAAA,EAAe,aAAA,CACb,cAAA,EACA,UAAA,CAAW,KAAA,GACX,+BAAA,GAEF,YAAA,GAAe,QAAA,GACd,wBAAA,CAAyB,cAAA,EAAgB,KAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useConnectionSpecPagination.d.mts","names":[],"sources":["../../src/loadable-hooks/useConnectionSpecPagination.ts"],"
|
|
1
|
+
{"version":3,"file":"useConnectionSpecPagination.d.mts","names":[],"sources":["../../src/loadable-hooks/useConnectionSpecPagination.ts"],"mappings":";;;;;KAyBY,wBAAA,wBACa,qBAAA;EAInB,IAAA;EACA,eAAA,EAAiB,iBAAA,CAAkB,cAAA,EAAgB,UAAA,CAAW,KAAA;EAC9D,OAAA,EAAS,aAAA,CAAc,KAAA;AAAA;EAGvB,IAAA;EACA,SAAA,GACE,KAAA,UACA,YAAA,GAAe,YAAA,CAAa,UAAA,CAAW,KAAA;EAEzC,OAAA,EAAS,aAAA,CAAc,KAAA;AAAA;EAGvB,IAAA;EACA,OAAA,EAAS,aAAA,CAAc,KAAA;AAAA;AAAA,KAyBjB,QAAA;EAAA,SACD,WAAA;EAAA,SACA,SAAA;AAAA;AAAA,KAGC,UAAA;EAAA,SACD,KAAA,EAAO,aAAA,CAAc,CAAA;EAAA,SACrB,QAAA,EAAU,QAAA;AAAA;AAAA,KAQT,+BAAA;EACV,KAAA;EACA,KAAA;AAAA;AAAA,iBAGc,2BAAA,wBACS,qBAAA,QAAA,CAGvB,aAAA,EAAe,aAAA,CACb,cAAA,EACA,UAAA,CAAW,KAAA,GACX,+BAAA,GAEF,YAAA,GAAe,QAAA,GACd,wBAAA,CAAyB,cAAA,EAAgB,KAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useConnectionSpecPagination.mjs","names":["outArray: Array<T>","mostRecentItem:\n | LoadedFragmentReference<TReadFromStore, Connection<TItem>>\n | undefined"],"sources":["../../src/loadable-hooks/useConnectionSpecPagination.ts"],"sourcesContent":["import type { ItemCleanupPair } from '@isograph/disposable-types';\nimport {\n UNASSIGNED_STATE,\n useUpdatableDisposableState,\n} from '@isograph/react-disposable-state';\nimport type { ReferenceCountedPointer } from '@isograph/reference-counted-pointer';\nimport { createReferenceCountedPointer } from '@isograph/reference-counted-pointer';\nimport { useState } from 'react';\nimport { subscribeToAnyChange } from '../core/cache';\nimport type { FetchOptions } from '../core/check';\nimport type {\n FragmentReference,\n UnknownTReadFromStore,\n} from '../core/FragmentReference';\nimport { getPromiseState, readPromise } from '../core/PromiseWrapper';\nimport {\n readButDoNotEvaluate,\n type WithEncounteredRecords,\n} from '../core/read';\nimport type { LoadableField, ReaderAst } from '../core/reader';\nimport { getOrCreateCachedStartUpdate } from '../core/startUpdate';\nimport { useIsographEnvironment } from '../react/IsographEnvironmentProvider';\nimport { maybeUnwrapNetworkRequest } from '../react/maybeUnwrapNetworkRequest';\nimport { useSubscribeToMultiple } from '../react/useReadAndSubscribe';\n\nexport type UsePaginationReturnValue<\n TReadFromStore extends UnknownTReadFromStore,\n TItem,\n> =\n | {\n kind: 'Pending';\n pendingFragment: FragmentReference<TReadFromStore, Connection<TItem>>;\n results: ReadonlyArray<TItem>;\n }\n | {\n kind: 'HasMoreRecords';\n fetchMore: (\n count: number,\n fetchOptions?: FetchOptions<Connection<TItem>, never>,\n ) => void;\n results: ReadonlyArray<TItem>;\n }\n | {\n kind: 'NoMoreRecords';\n results: ReadonlyArray<TItem>;\n };\n\ntype LoadedFragmentReferences<\n TReadFromStore extends { parameters: object; data: object },\n TItem,\n> = ReadonlyArray<LoadedFragmentReference<TReadFromStore, TItem>>;\n\ntype LoadedFragmentReference<\n TReadFromStore extends { parameters: object; data: object },\n TItem,\n> = ItemCleanupPair<\n ReferenceCountedPointer<FragmentReference<TReadFromStore, TItem>>\n>;\n\nfunction flatten<T>(arr: ReadonlyArray<ReadonlyArray<T>>): ReadonlyArray<T> {\n let outArray: Array<T> = [];\n for (const subarr of arr) {\n for (const item of subarr) {\n outArray.push(item);\n }\n }\n return outArray;\n}\n\nexport type PageInfo = {\n readonly hasNextPage: boolean;\n readonly endCursor: string | null;\n};\n\nexport type Connection<T> = {\n readonly edges: ReadonlyArray<T> | null;\n readonly pageInfo: PageInfo;\n};\n\ntype NonNullConnection<T> = {\n readonly edges: ReadonlyArray<T>;\n readonly pageInfo: PageInfo;\n};\n\nexport type UseConnectionSpecPaginationArgs = {\n first: number;\n after: string | null;\n};\n\nexport function useConnectionSpecPagination<\n TReadFromStore extends UnknownTReadFromStore,\n TItem,\n>(\n loadableField: LoadableField<\n TReadFromStore,\n Connection<TItem>,\n UseConnectionSpecPaginationArgs\n >,\n initialState?: PageInfo,\n): UsePaginationReturnValue<TReadFromStore, TItem> {\n const networkRequestOptions = {\n suspendIfInFlight: true,\n throwOnNetworkError: true,\n };\n const { state, setState } =\n useUpdatableDisposableState<\n LoadedFragmentReferences<TReadFromStore, Connection<TItem>>\n >();\n\n const environment = useIsographEnvironment();\n\n // TODO move this out of useSkipLimitPagination, and pass environment and networkRequestOptions\n // as parameters (or recreate networkRequestOptions)\n function readCompletedFragmentReferences(\n completedReferences: FragmentReference<TReadFromStore, Connection<TItem>>[],\n ): NonNullConnection<TItem> {\n const results = completedReferences.map((fragmentReference, i) => {\n const readerWithRefetchQueries = readPromise(\n fragmentReference.readerWithRefetchQueries,\n );\n\n // invariant: readOutDataAndRecords.length === completedReferences.length\n const data = readOutDataAndRecords[i]?.item;\n if (data == null) {\n throw new Error(\n 'Parameter data is unexpectedly null. This is indicative of a bug in Isograph.',\n );\n }\n\n const firstParameter = {\n data,\n parameters: fragmentReference.variables,\n ...(readerWithRefetchQueries.readerArtifact.hasUpdatable\n ? {\n startUpdate: getOrCreateCachedStartUpdate(\n environment,\n fragmentReference,\n networkRequestOptions,\n ),\n }\n : undefined),\n };\n\n if (\n readerWithRefetchQueries.readerArtifact.kind !== 'EagerReaderArtifact'\n ) {\n throw new Error(\n `@loadable field of kind \"${readerWithRefetchQueries.readerArtifact.kind}\" is not supported by useSkipLimitPagination`,\n );\n }\n\n return readerWithRefetchQueries.readerArtifact.resolver(firstParameter);\n });\n\n const items = flatten(results.map((result) => result.edges ?? []));\n\n return {\n edges: items,\n pageInfo: results[results.length - 1]?.pageInfo ?? {\n endCursor: null,\n hasNextPage: true,\n },\n };\n }\n\n function subscribeCompletedFragmentReferences(\n completedReferences: FragmentReference<TReadFromStore, Connection<TItem>>[],\n ) {\n return completedReferences.map(\n (\n fragmentReference,\n i,\n ): {\n records: WithEncounteredRecords<TReadFromStore>;\n callback: (\n updatedRecords: WithEncounteredRecords<TReadFromStore>,\n ) => void;\n fragmentReference: FragmentReference<TReadFromStore, Connection<TItem>>;\n readerAst: ReaderAst<Connection<TItem>>;\n } => {\n maybeUnwrapNetworkRequest(\n fragmentReference.networkRequest,\n networkRequestOptions,\n );\n\n const readerWithRefetchQueries = readPromise(\n fragmentReference.readerWithRefetchQueries,\n );\n\n const records = readOutDataAndRecords[i];\n if (records == null) {\n throw new Error(\n 'subscribeCompletedFragmentReferences records is unexpectedly null',\n );\n }\n\n return {\n fragmentReference,\n readerAst: readerWithRefetchQueries.readerArtifact.readerAst,\n records,\n callback(_data) {\n rerender({});\n },\n };\n },\n );\n }\n\n const getFetchMore =\n (after: string | null) =>\n (\n count: number,\n fetchOptions?: FetchOptions<Connection<TItem>, never>,\n ): void => {\n const loadedField = loadableField(\n {\n after: after,\n first: count,\n },\n fetchOptions ?? {},\n )[1]();\n const newPointer = createReferenceCountedPointer(loadedField);\n const clonedPointers = loadedReferences.map(([refCountedPointer]) => {\n const clonedRefCountedPointer = refCountedPointer.cloneIfNotDisposed();\n if (clonedRefCountedPointer == null) {\n throw new Error(\n 'This reference counted pointer has already been disposed. \\\n This is indicative of a bug in useSkipLimitPagination.',\n );\n }\n return clonedRefCountedPointer;\n });\n clonedPointers.push(newPointer);\n\n const totalItemCleanupPair: ItemCleanupPair<\n ReadonlyArray<\n ItemCleanupPair<\n ReferenceCountedPointer<\n FragmentReference<TReadFromStore, Connection<TItem>>\n >\n >\n >\n > = [\n clonedPointers,\n () => {\n clonedPointers.forEach(([, dispose]) => {\n dispose();\n });\n },\n ];\n\n setState(totalItemCleanupPair);\n };\n\n const [, rerender] = useState({});\n\n const loadedReferences = state === UNASSIGNED_STATE ? [] : state;\n\n const mostRecentItem:\n | LoadedFragmentReference<TReadFromStore, Connection<TItem>>\n | undefined = loadedReferences[loadedReferences.length - 1];\n const mostRecentFragmentReference =\n mostRecentItem?.[0].getItemIfNotDisposed();\n\n if (mostRecentItem != null && mostRecentFragmentReference == null) {\n throw new Error(\n 'FragmentReference is unexpectedly disposed. \\\n This is indicative of a bug in Isograph.',\n );\n }\n\n const networkRequestStatus =\n mostRecentFragmentReference != null\n ? {\n mostRecentFragmentReference,\n state: getPromiseState(mostRecentFragmentReference.networkRequest),\n }\n : null;\n\n const slicedFragmentReferences =\n networkRequestStatus?.state?.kind === 'Ok'\n ? loadedReferences\n : loadedReferences.slice(0, loadedReferences.length - 1);\n\n const completedFragmentReferences = slicedFragmentReferences.map(\n ([pointer]) => {\n const fragmentReference = pointer.getItemIfNotDisposed();\n if (fragmentReference == null) {\n throw new Error(\n 'FragmentReference is unexpectedly disposed. \\\n This is indicative of a bug in Isograph.',\n );\n }\n return fragmentReference;\n },\n );\n\n const readOutDataAndRecords = completedFragmentReferences.map(\n (fragmentReference) =>\n readButDoNotEvaluate(\n environment,\n fragmentReference,\n networkRequestOptions,\n ),\n );\n\n useSubscribeToMultiple<TReadFromStore>(\n subscribeCompletedFragmentReferences(completedFragmentReferences),\n );\n\n if (networkRequestStatus == null) {\n if (initialState?.hasNextPage ?? true) {\n return {\n kind: 'HasMoreRecords',\n fetchMore: getFetchMore(initialState?.endCursor ?? null),\n results: [],\n };\n } else {\n return {\n kind: 'NoMoreRecords',\n results: [],\n };\n }\n }\n\n switch (networkRequestStatus.state.kind) {\n case 'Pending': {\n const unsubscribe = subscribeToAnyChange(environment, () => {\n unsubscribe();\n rerender({});\n });\n\n const results = readCompletedFragmentReferences(\n completedFragmentReferences,\n );\n return {\n results: results.edges,\n kind: 'Pending',\n pendingFragment: networkRequestStatus.mostRecentFragmentReference,\n };\n }\n case 'Err': {\n throw networkRequestStatus.state.error;\n }\n case 'Ok': {\n const results = readCompletedFragmentReferences(\n completedFragmentReferences,\n );\n\n if (results.pageInfo.hasNextPage) {\n return {\n kind: 'HasMoreRecords',\n fetchMore: getFetchMore(results.pageInfo.endCursor),\n results: results.edges,\n };\n } else {\n return {\n kind: 'NoMoreRecords',\n results: results.edges,\n };\n }\n }\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useConnectionSpecPagination.mjs","names":[],"sources":["../../src/loadable-hooks/useConnectionSpecPagination.ts"],"sourcesContent":["import type { ItemCleanupPair } from '@isograph/disposable-types';\nimport {\n UNASSIGNED_STATE,\n useUpdatableDisposableState,\n} from '@isograph/react-disposable-state';\nimport type { ReferenceCountedPointer } from '@isograph/reference-counted-pointer';\nimport { createReferenceCountedPointer } from '@isograph/reference-counted-pointer';\nimport { useState } from 'react';\nimport { subscribeToAnyChange } from '../core/cache';\nimport type { FetchOptions } from '../core/check';\nimport type {\n FragmentReference,\n UnknownTReadFromStore,\n} from '../core/FragmentReference';\nimport { getPromiseState, readPromise } from '../core/PromiseWrapper';\nimport {\n readButDoNotEvaluate,\n type WithEncounteredRecords,\n} from '../core/read';\nimport type { LoadableField, ReaderAst } from '../core/reader';\nimport { getOrCreateCachedStartUpdate } from '../core/startUpdate';\nimport { useIsographEnvironment } from '../react/IsographEnvironmentProvider';\nimport { maybeUnwrapNetworkRequest } from '../react/maybeUnwrapNetworkRequest';\nimport { useSubscribeToMultiple } from '../react/useReadAndSubscribe';\n\nexport type UsePaginationReturnValue<\n TReadFromStore extends UnknownTReadFromStore,\n TItem,\n> =\n | {\n kind: 'Pending';\n pendingFragment: FragmentReference<TReadFromStore, Connection<TItem>>;\n results: ReadonlyArray<TItem>;\n }\n | {\n kind: 'HasMoreRecords';\n fetchMore: (\n count: number,\n fetchOptions?: FetchOptions<Connection<TItem>, never>,\n ) => void;\n results: ReadonlyArray<TItem>;\n }\n | {\n kind: 'NoMoreRecords';\n results: ReadonlyArray<TItem>;\n };\n\ntype LoadedFragmentReferences<\n TReadFromStore extends { parameters: object; data: object },\n TItem,\n> = ReadonlyArray<LoadedFragmentReference<TReadFromStore, TItem>>;\n\ntype LoadedFragmentReference<\n TReadFromStore extends { parameters: object; data: object },\n TItem,\n> = ItemCleanupPair<\n ReferenceCountedPointer<FragmentReference<TReadFromStore, TItem>>\n>;\n\nfunction flatten<T>(arr: ReadonlyArray<ReadonlyArray<T>>): ReadonlyArray<T> {\n let outArray: Array<T> = [];\n for (const subarr of arr) {\n for (const item of subarr) {\n outArray.push(item);\n }\n }\n return outArray;\n}\n\nexport type PageInfo = {\n readonly hasNextPage: boolean;\n readonly endCursor: string | null;\n};\n\nexport type Connection<T> = {\n readonly edges: ReadonlyArray<T> | null;\n readonly pageInfo: PageInfo;\n};\n\ntype NonNullConnection<T> = {\n readonly edges: ReadonlyArray<T>;\n readonly pageInfo: PageInfo;\n};\n\nexport type UseConnectionSpecPaginationArgs = {\n first: number;\n after: string | null;\n};\n\nexport function useConnectionSpecPagination<\n TReadFromStore extends UnknownTReadFromStore,\n TItem,\n>(\n loadableField: LoadableField<\n TReadFromStore,\n Connection<TItem>,\n UseConnectionSpecPaginationArgs\n >,\n initialState?: PageInfo,\n): UsePaginationReturnValue<TReadFromStore, TItem> {\n const networkRequestOptions = {\n suspendIfInFlight: true,\n throwOnNetworkError: true,\n };\n const { state, setState } =\n useUpdatableDisposableState<\n LoadedFragmentReferences<TReadFromStore, Connection<TItem>>\n >();\n\n const environment = useIsographEnvironment();\n\n // TODO move this out of useSkipLimitPagination, and pass environment and networkRequestOptions\n // as parameters (or recreate networkRequestOptions)\n function readCompletedFragmentReferences(\n completedReferences: FragmentReference<TReadFromStore, Connection<TItem>>[],\n ): NonNullConnection<TItem> {\n const results = completedReferences.map((fragmentReference, i) => {\n const readerWithRefetchQueries = readPromise(\n fragmentReference.readerWithRefetchQueries,\n );\n\n // invariant: readOutDataAndRecords.length === completedReferences.length\n const data = readOutDataAndRecords[i]?.item;\n if (data == null) {\n throw new Error(\n 'Parameter data is unexpectedly null. This is indicative of a bug in Isograph.',\n );\n }\n\n const firstParameter = {\n data,\n parameters: fragmentReference.variables,\n ...(readerWithRefetchQueries.readerArtifact.hasUpdatable\n ? {\n startUpdate: getOrCreateCachedStartUpdate(\n environment,\n fragmentReference,\n networkRequestOptions,\n ),\n }\n : undefined),\n };\n\n if (\n readerWithRefetchQueries.readerArtifact.kind !== 'EagerReaderArtifact'\n ) {\n throw new Error(\n `@loadable field of kind \"${readerWithRefetchQueries.readerArtifact.kind}\" is not supported by useSkipLimitPagination`,\n );\n }\n\n return readerWithRefetchQueries.readerArtifact.resolver(firstParameter);\n });\n\n const items = flatten(results.map((result) => result.edges ?? []));\n\n return {\n edges: items,\n pageInfo: results[results.length - 1]?.pageInfo ?? {\n endCursor: null,\n hasNextPage: true,\n },\n };\n }\n\n function subscribeCompletedFragmentReferences(\n completedReferences: FragmentReference<TReadFromStore, Connection<TItem>>[],\n ) {\n return completedReferences.map(\n (\n fragmentReference,\n i,\n ): {\n records: WithEncounteredRecords<TReadFromStore>;\n callback: (\n updatedRecords: WithEncounteredRecords<TReadFromStore>,\n ) => void;\n fragmentReference: FragmentReference<TReadFromStore, Connection<TItem>>;\n readerAst: ReaderAst<Connection<TItem>>;\n } => {\n maybeUnwrapNetworkRequest(\n fragmentReference.networkRequest,\n networkRequestOptions,\n );\n\n const readerWithRefetchQueries = readPromise(\n fragmentReference.readerWithRefetchQueries,\n );\n\n const records = readOutDataAndRecords[i];\n if (records == null) {\n throw new Error(\n 'subscribeCompletedFragmentReferences records is unexpectedly null',\n );\n }\n\n return {\n fragmentReference,\n readerAst: readerWithRefetchQueries.readerArtifact.readerAst,\n records,\n callback(_data) {\n rerender({});\n },\n };\n },\n );\n }\n\n const getFetchMore =\n (after: string | null) =>\n (\n count: number,\n fetchOptions?: FetchOptions<Connection<TItem>, never>,\n ): void => {\n const loadedField = loadableField(\n {\n after: after,\n first: count,\n },\n fetchOptions ?? {},\n )[1]();\n const newPointer = createReferenceCountedPointer(loadedField);\n const clonedPointers = loadedReferences.map(([refCountedPointer]) => {\n const clonedRefCountedPointer = refCountedPointer.cloneIfNotDisposed();\n if (clonedRefCountedPointer == null) {\n throw new Error(\n 'This reference counted pointer has already been disposed. \\\n This is indicative of a bug in useSkipLimitPagination.',\n );\n }\n return clonedRefCountedPointer;\n });\n clonedPointers.push(newPointer);\n\n const totalItemCleanupPair: ItemCleanupPair<\n ReadonlyArray<\n ItemCleanupPair<\n ReferenceCountedPointer<\n FragmentReference<TReadFromStore, Connection<TItem>>\n >\n >\n >\n > = [\n clonedPointers,\n () => {\n clonedPointers.forEach(([, dispose]) => {\n dispose();\n });\n },\n ];\n\n setState(totalItemCleanupPair);\n };\n\n const [, rerender] = useState({});\n\n const loadedReferences = state === UNASSIGNED_STATE ? [] : state;\n\n const mostRecentItem:\n | LoadedFragmentReference<TReadFromStore, Connection<TItem>>\n | undefined = loadedReferences[loadedReferences.length - 1];\n const mostRecentFragmentReference =\n mostRecentItem?.[0].getItemIfNotDisposed();\n\n if (mostRecentItem != null && mostRecentFragmentReference == null) {\n throw new Error(\n 'FragmentReference is unexpectedly disposed. \\\n This is indicative of a bug in Isograph.',\n );\n }\n\n const networkRequestStatus =\n mostRecentFragmentReference != null\n ? {\n mostRecentFragmentReference,\n state: getPromiseState(mostRecentFragmentReference.networkRequest),\n }\n : null;\n\n const slicedFragmentReferences =\n networkRequestStatus?.state?.kind === 'Ok'\n ? loadedReferences\n : loadedReferences.slice(0, loadedReferences.length - 1);\n\n const completedFragmentReferences = slicedFragmentReferences.map(\n ([pointer]) => {\n const fragmentReference = pointer.getItemIfNotDisposed();\n if (fragmentReference == null) {\n throw new Error(\n 'FragmentReference is unexpectedly disposed. \\\n This is indicative of a bug in Isograph.',\n );\n }\n return fragmentReference;\n },\n );\n\n const readOutDataAndRecords = completedFragmentReferences.map(\n (fragmentReference) =>\n readButDoNotEvaluate(\n environment,\n fragmentReference,\n networkRequestOptions,\n ),\n );\n\n useSubscribeToMultiple<TReadFromStore>(\n subscribeCompletedFragmentReferences(completedFragmentReferences),\n );\n\n if (networkRequestStatus == null) {\n if (initialState?.hasNextPage ?? true) {\n return {\n kind: 'HasMoreRecords',\n fetchMore: getFetchMore(initialState?.endCursor ?? null),\n results: [],\n };\n } else {\n return {\n kind: 'NoMoreRecords',\n results: [],\n };\n }\n }\n\n switch (networkRequestStatus.state.kind) {\n case 'Pending': {\n const unsubscribe = subscribeToAnyChange(environment, () => {\n unsubscribe();\n rerender({});\n });\n\n const results = readCompletedFragmentReferences(\n completedFragmentReferences,\n );\n return {\n results: results.edges,\n kind: 'Pending',\n pendingFragment: networkRequestStatus.mostRecentFragmentReference,\n };\n }\n case 'Err': {\n throw networkRequestStatus.state.error;\n }\n case 'Ok': {\n const results = readCompletedFragmentReferences(\n completedFragmentReferences,\n );\n\n if (results.pageInfo.hasNextPage) {\n return {\n kind: 'HasMoreRecords',\n fetchMore: getFetchMore(results.pageInfo.endCursor),\n results: results.edges,\n };\n } else {\n return {\n kind: 'NoMoreRecords',\n results: results.edges,\n };\n }\n }\n }\n}\n"],"mappings":"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"}
|
|
@@ -5,4 +5,4 @@ type UseImperativeLoadableFieldReturn<TArgs> = {
|
|
|
5
5
|
declare function useImperativeExposedMutationField<TArgs>(exposedField: (args: TArgs) => [string, () => void]): UseImperativeLoadableFieldReturn<TArgs>;
|
|
6
6
|
//#endregion
|
|
7
7
|
export { UseImperativeLoadableFieldReturn, useImperativeExposedMutationField };
|
|
8
|
-
//# sourceMappingURL=useImperativeExposedMutationField.d.
|
|
8
|
+
//# sourceMappingURL=useImperativeExposedMutationField.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useImperativeExposedMutationField.d.cts","names":[],"sources":["../../src/loadable-hooks/useImperativeExposedMutationField.ts"],"mappings":";KAAY,gCAAA;EACV,qBAAA,GAAwB,IAAA,EAAM,KAAA;AAAA;AAAA,iBAMhB,iCAAA,OAAA,CACd,YAAA,GAAe,IAAA,EAAM,KAAA,4BACpB,gCAAA,CAAiC,KAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useImperativeExposedMutationField.d.mts","names":[],"sources":["../../src/loadable-hooks/useImperativeExposedMutationField.ts"],"
|
|
1
|
+
{"version":3,"file":"useImperativeExposedMutationField.d.mts","names":[],"sources":["../../src/loadable-hooks/useImperativeExposedMutationField.ts"],"mappings":";KAAY,gCAAA;EACV,qBAAA,GAAwB,IAAA,EAAM,KAAA;AAAA;AAAA,iBAMhB,iCAAA,OAAA,CACd,YAAA,GAAe,IAAA,EAAM,KAAA,4BACpB,gCAAA,CAAiC,KAAA"}
|
package/dist/loadable-hooks/{useImperativeLoadableField.js → useImperativeLoadableField.cjs}
RENAMED
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.
|
|
2
|
-
let
|
|
3
|
-
__isograph_react_disposable_state = require_rolldown_runtime.__toESM(__isograph_react_disposable_state);
|
|
1
|
+
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
let _isograph_react_disposable_state = require("@isograph/react-disposable-state");
|
|
4
3
|
|
|
5
4
|
//#region src/loadable-hooks/useImperativeLoadableField.ts
|
|
6
5
|
function useImperativeLoadableField(loadableField) {
|
|
7
|
-
const { state, setState } = (0,
|
|
6
|
+
const { state, setState } = (0, _isograph_react_disposable_state.useUpdatableDisposableState)();
|
|
8
7
|
return {
|
|
9
8
|
loadFragmentReference: (args, fetchOptions) => {
|
|
10
9
|
const [_id, loader] = loadableField(args, fetchOptions ?? {});
|
|
11
10
|
setState(loader());
|
|
12
11
|
},
|
|
13
|
-
fragmentReference: state !==
|
|
12
|
+
fragmentReference: state !== _isograph_react_disposable_state.UNASSIGNED_STATE ? state : null
|
|
14
13
|
};
|
|
15
14
|
}
|
|
16
15
|
|
package/dist/loadable-hooks/{useImperativeLoadableField.d.ts → useImperativeLoadableField.d.cts}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { FetchOptions } from "../core/check.
|
|
2
|
-
import { LoadableField } from "../core/reader.
|
|
3
|
-
import { ExtractParameters, FragmentReference } from "../core/FragmentReference.
|
|
1
|
+
import { FetchOptions } from "../core/check.cjs";
|
|
2
|
+
import { LoadableField } from "../core/reader.cjs";
|
|
3
|
+
import { ExtractParameters, FragmentReference } from "../core/FragmentReference.cjs";
|
|
4
4
|
|
|
5
5
|
//#region src/loadable-hooks/useImperativeLoadableField.d.ts
|
|
6
6
|
type UseImperativeLoadableFieldReturn<TReadFromStore extends {
|
|
@@ -16,4 +16,4 @@ declare function useImperativeLoadableField<TReadFromStore extends {
|
|
|
16
16
|
}, TResult, TProvidedArgs extends object>(loadableField: LoadableField<TReadFromStore, TResult, Omit<ExtractParameters<TReadFromStore>, keyof TProvidedArgs>>): UseImperativeLoadableFieldReturn<TReadFromStore, TResult, TProvidedArgs>;
|
|
17
17
|
//#endregion
|
|
18
18
|
export { UseImperativeLoadableFieldReturn, useImperativeLoadableField };
|
|
19
|
-
//# sourceMappingURL=useImperativeLoadableField.d.
|
|
19
|
+
//# sourceMappingURL=useImperativeLoadableField.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useImperativeLoadableField.d.cts","names":[],"sources":["../../src/loadable-hooks/useImperativeLoadableField.ts"],"mappings":";;;;;KAWY,gCAAA;EACe,IAAA;EAAc,UAAA;AAAA;EAIvC,iBAAA,EAAmB,iBAAA,CAAkB,cAAA,EAAgB,OAAA;EACrD,qBAAA,GAGE,IAAA,EAAM,IAAA,CAAK,iBAAA,CAAkB,cAAA,SAAuB,aAAA,UACpD,YAAA,GAAe,YAAA,CAAa,OAAA;AAAA;AAAA,iBAIhB,0BAAA;EACW,IAAA;EAAc,UAAA;AAAA,yCAAA,CAIvC,aAAA,EAAe,aAAA,CACb,cAAA,EACA,OAAA,EACA,IAAA,CAAK,iBAAA,CAAkB,cAAA,SAAuB,aAAA,KAE/C,gCAAA,CAAiC,cAAA,EAAgB,OAAA,EAAS,aAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useImperativeLoadableField.d.mts","names":[],"sources":["../../src/loadable-hooks/useImperativeLoadableField.ts"],"
|
|
1
|
+
{"version":3,"file":"useImperativeLoadableField.d.mts","names":[],"sources":["../../src/loadable-hooks/useImperativeLoadableField.ts"],"mappings":";;;;;KAWY,gCAAA;EACe,IAAA;EAAc,UAAA;AAAA;EAIvC,iBAAA,EAAmB,iBAAA,CAAkB,cAAA,EAAgB,OAAA;EACrD,qBAAA,GAGE,IAAA,EAAM,IAAA,CAAK,iBAAA,CAAkB,cAAA,SAAuB,aAAA,UACpD,YAAA,GAAe,YAAA,CAAa,OAAA;AAAA;AAAA,iBAIhB,0BAAA;EACW,IAAA;EAAc,UAAA;AAAA,yCAAA,CAIvC,aAAA,EAAe,aAAA,CACb,cAAA,EACA,OAAA,EACA,IAAA,CAAK,iBAAA,CAAkB,cAAA,SAAuB,aAAA,KAE/C,gCAAA,CAAiC,cAAA,EAAgB,OAAA,EAAS,aAAA"}
|
|
@@ -1,17 +1,14 @@
|
|
|
1
|
-
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.
|
|
2
|
-
const require_PromiseWrapper = require('../core/PromiseWrapper.
|
|
3
|
-
const require_startUpdate = require('../core/startUpdate.
|
|
4
|
-
const require_read = require('../core/read.
|
|
5
|
-
const require_cache = require('../core/cache.
|
|
6
|
-
const require_IsographEnvironmentProvider = require('../react/IsographEnvironmentProvider.
|
|
7
|
-
const require_maybeUnwrapNetworkRequest = require('../react/maybeUnwrapNetworkRequest.
|
|
8
|
-
const require_useReadAndSubscribe = require('../react/useReadAndSubscribe.
|
|
9
|
-
let
|
|
10
|
-
__isograph_react_disposable_state = require_rolldown_runtime.__toESM(__isograph_react_disposable_state);
|
|
1
|
+
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_PromiseWrapper = require('../core/PromiseWrapper.cjs');
|
|
3
|
+
const require_startUpdate = require('../core/startUpdate.cjs');
|
|
4
|
+
const require_read = require('../core/read.cjs');
|
|
5
|
+
const require_cache = require('../core/cache.cjs');
|
|
6
|
+
const require_IsographEnvironmentProvider = require('../react/IsographEnvironmentProvider.cjs');
|
|
7
|
+
const require_maybeUnwrapNetworkRequest = require('../react/maybeUnwrapNetworkRequest.cjs');
|
|
8
|
+
const require_useReadAndSubscribe = require('../react/useReadAndSubscribe.cjs');
|
|
9
|
+
let _isograph_react_disposable_state = require("@isograph/react-disposable-state");
|
|
11
10
|
let react = require("react");
|
|
12
|
-
|
|
13
|
-
let __isograph_reference_counted_pointer = require("@isograph/reference-counted-pointer");
|
|
14
|
-
__isograph_reference_counted_pointer = require_rolldown_runtime.__toESM(__isograph_reference_counted_pointer);
|
|
11
|
+
let _isograph_reference_counted_pointer = require("@isograph/reference-counted-pointer");
|
|
15
12
|
|
|
16
13
|
//#region src/loadable-hooks/useSkipLimitPagination.ts
|
|
17
14
|
function flatten(arr) {
|
|
@@ -24,7 +21,7 @@ function useSkipLimitPagination(loadableField, initialState) {
|
|
|
24
21
|
suspendIfInFlight: true,
|
|
25
22
|
throwOnNetworkError: true
|
|
26
23
|
};
|
|
27
|
-
const { state, setState } = (0,
|
|
24
|
+
const { state, setState } = (0, _isograph_react_disposable_state.useUpdatableDisposableState)();
|
|
28
25
|
const environment = require_IsographEnvironmentProvider.useIsographEnvironment();
|
|
29
26
|
function readCompletedFragmentReferences(completedReferences) {
|
|
30
27
|
return flatten(completedReferences.map((fragmentReference, i) => {
|
|
@@ -57,7 +54,7 @@ function useSkipLimitPagination(loadableField, initialState) {
|
|
|
57
54
|
});
|
|
58
55
|
}
|
|
59
56
|
const getFetchMore = (loadedSoFar) => (count, fetchOptions) => {
|
|
60
|
-
const newPointer = (0,
|
|
57
|
+
const newPointer = (0, _isograph_reference_counted_pointer.createReferenceCountedPointer)(loadableField({
|
|
61
58
|
skip: loadedSoFar,
|
|
62
59
|
limit: count
|
|
63
60
|
}, fetchOptions ?? {})[1]());
|
|
@@ -74,7 +71,7 @@ function useSkipLimitPagination(loadableField, initialState) {
|
|
|
74
71
|
}]);
|
|
75
72
|
};
|
|
76
73
|
const [, rerender] = (0, react.useState)({});
|
|
77
|
-
const loadedReferences = state ===
|
|
74
|
+
const loadedReferences = state === _isograph_react_disposable_state.UNASSIGNED_STATE ? [] : state;
|
|
78
75
|
const mostRecentItem = loadedReferences[loadedReferences.length - 1];
|
|
79
76
|
const mostRecentFragmentReference = mostRecentItem?.[0].getItemIfNotDisposed();
|
|
80
77
|
if (mostRecentItem != null && mostRecentFragmentReference == null) throw new Error("FragmentReference is unexpectedly disposed. This is indicative of a bug in Isograph.");
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { FetchOptions } from "../core/check.
|
|
2
|
-
import { LoadableField } from "../core/reader.
|
|
3
|
-
import { FragmentReference, UnknownTReadFromStore } from "../core/FragmentReference.
|
|
1
|
+
import { FetchOptions } from "../core/check.cjs";
|
|
2
|
+
import { LoadableField } from "../core/reader.cjs";
|
|
3
|
+
import { FragmentReference, UnknownTReadFromStore } from "../core/FragmentReference.cjs";
|
|
4
4
|
|
|
5
5
|
//#region src/loadable-hooks/useSkipLimitPagination.d.ts
|
|
6
6
|
type UseSkipLimitReturnValue<TReadFromStore extends UnknownTReadFromStore, TItem> = {
|
|
@@ -21,4 +21,4 @@ declare function useSkipLimitPagination<TItem, TReadFromStore extends UnknownTRe
|
|
|
21
21
|
}): UseSkipLimitReturnValue<TReadFromStore, TItem>;
|
|
22
22
|
//#endregion
|
|
23
23
|
export { UseSkipLimitPaginationArgs, UseSkipLimitReturnValue, useSkipLimitPagination };
|
|
24
|
-
//# sourceMappingURL=useSkipLimitPagination.d.
|
|
24
|
+
//# sourceMappingURL=useSkipLimitPagination.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSkipLimitPagination.d.cts","names":[],"sources":["../../src/loadable-hooks/useSkipLimitPagination.ts"],"mappings":";;;;;KAyBY,uBAAA,wBACa,qBAAA;EAAA,SAIV,IAAA;EAAA,SACA,SAAA,GACP,KAAA,UACA,YAAA,GAAe,YAAA,CAAa,aAAA,CAAc,KAAA;EAAA,SAEnC,OAAA,EAAS,aAAA,CAAc,KAAA;AAAA;EAAA,SAGvB,IAAA;EAAA,SACA,OAAA,EAAS,aAAA,CAAc,KAAA;EAAA,SACvB,eAAA,EAAiB,iBAAA,CACxB,cAAA,EACA,aAAA,CAAc,KAAA;AAAA;AAAA,KA+BV,0BAAA;EACV,IAAA;EACA,KAAA;AAAA;AAAA,iBAGc,sBAAA,+BAES,qBAAA,CAAA,CAEvB,aAAA,EAAe,aAAA,CACb,cAAA,EACA,aAAA,CAAc,KAAA,GACd,0BAAA,GAEF,YAAA;EACE,IAAA;AAAA,IAED,uBAAA,CAAwB,cAAA,EAAgB,KAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSkipLimitPagination.d.mts","names":[],"sources":["../../src/loadable-hooks/useSkipLimitPagination.ts"],"
|
|
1
|
+
{"version":3,"file":"useSkipLimitPagination.d.mts","names":[],"sources":["../../src/loadable-hooks/useSkipLimitPagination.ts"],"mappings":";;;;;KAyBY,uBAAA,wBACa,qBAAA;EAAA,SAIV,IAAA;EAAA,SACA,SAAA,GACP,KAAA,UACA,YAAA,GAAe,YAAA,CAAa,aAAA,CAAc,KAAA;EAAA,SAEnC,OAAA,EAAS,aAAA,CAAc,KAAA;AAAA;EAAA,SAGvB,IAAA;EAAA,SACA,OAAA,EAAS,aAAA,CAAc,KAAA;EAAA,SACvB,eAAA,EAAiB,iBAAA,CACxB,cAAA,EACA,aAAA,CAAc,KAAA;AAAA;AAAA,KA+BV,0BAAA;EACV,IAAA;EACA,KAAA;AAAA;AAAA,iBAGc,sBAAA,+BAES,qBAAA,CAAA,CAEvB,aAAA,EAAe,aAAA,CACb,cAAA,EACA,aAAA,CAAc,KAAA,GACd,0BAAA,GAEF,YAAA;EACE,IAAA;AAAA,IAED,uBAAA,CAAwB,cAAA,EAAgB,KAAA"}
|