relay-runtime 20.1.1 → 21.0.1
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/experimental.d.ts +34 -0
- package/experimental.js +1 -1
- package/experimental.js.flow +11 -11
- package/handlers/RelayDefaultHandlerProvider.d.ts +12 -0
- package/handlers/connection/ConnectionHandler.d.ts +51 -0
- package/handlers/connection/ConnectionHandler.js.flow +5 -5
- package/handlers/connection/ConnectionInterface.d.ts +40 -0
- package/handlers/connection/ConnectionInterface.js.flow +1 -1
- package/handlers/connection/MutationHandlers.d.ts +17 -0
- package/index.d.ts +274 -0
- package/index.js +1 -1
- package/index.js.flow +125 -62
- package/lib/experimental.js +3 -3
- package/lib/index.js +105 -57
- package/lib/multi-actor-environment/ActorIdentifier.js +2 -2
- package/lib/multi-actor-environment/MultiActorEnvironment.js +3 -1
- package/lib/mutations/commitMutation.js +8 -8
- package/lib/mutations/validateMutation.js +4 -4
- package/lib/query/GraphQLTag.js +3 -3
- package/lib/query/fetchQuery.js +15 -3
- package/lib/store/DataChecker.js +38 -4
- package/lib/store/NormalizationEngine.js +373 -0
- package/lib/store/OperationExecutor.js +172 -113
- package/lib/store/RelayConcreteVariables.js +1 -1
- package/lib/store/RelayErrorTrie.js +2 -2
- package/lib/store/RelayExperimentalGraphResponseTransform.js +8 -8
- package/lib/store/RelayModernEnvironment.js +26 -19
- package/lib/store/RelayModernRecord.js +18 -8
- package/lib/store/RelayModernSelector.js +9 -9
- package/lib/store/RelayModernStore.js +152 -43
- package/lib/store/RelayPublishQueue.js +1 -1
- package/lib/store/RelayReader.js +76 -38
- package/lib/store/RelayRecordSource.js +6 -0
- package/lib/store/RelayReferenceMarker.js +2 -1
- package/lib/store/RelayResponseNormalizer.js +88 -55
- package/lib/store/RelayStoreSubscriptions.js +34 -10
- package/lib/store/RelayStoreUtils.js +8 -1
- package/lib/store/ResolverFragments.js +2 -2
- package/lib/store/live-resolvers/LiveResolverCache.js +25 -9
- package/lib/store/observeFragmentExperimental.js +17 -1
- package/lib/store/observeQueryExperimental.js +2 -2
- package/lib/subscription/requestSubscription.js +3 -3
- package/lib/util/RelayError.js +3 -0
- package/lib/util/RelayFeatureFlags.js +6 -2
- package/lib/util/RelayReplaySubject.js +4 -4
- package/lib/util/handlePotentialSnapshotErrors.js +2 -2
- package/lib/util/stableCopy.js +2 -2
- package/llm-docs/api-reference/entrypoint-apis/entrypoint-container.mdx +38 -0
- package/llm-docs/api-reference/entrypoint-apis/load-entrypoint.mdx +77 -0
- package/llm-docs/api-reference/entrypoint-apis/use-entrypoint-loader.mdx +99 -0
- package/llm-docs/api-reference/graphql/graphql-directives.mdx +378 -0
- package/llm-docs/api-reference/hooks/_use-lazy-load-query-extra.mdx +16 -0
- package/llm-docs/api-reference/hooks/load-query.mdx +84 -0
- package/llm-docs/api-reference/hooks/relay-environment-provider.mdx +78 -0
- package/llm-docs/api-reference/hooks/use-client-query.mdx +65 -0
- package/llm-docs/api-reference/hooks/use-fragment.mdx +69 -0
- package/llm-docs/api-reference/hooks/use-lazy-load-query.mdx +62 -0
- package/llm-docs/api-reference/hooks/use-mutation.mdx +94 -0
- package/llm-docs/api-reference/hooks/use-pagination-fragment.mdx +166 -0
- package/llm-docs/api-reference/hooks/use-prefetchable-forward-pagination-fragment.mdx +134 -0
- package/llm-docs/api-reference/hooks/use-preloaded-query.mdx +84 -0
- package/llm-docs/api-reference/hooks/use-query-loader.mdx +95 -0
- package/llm-docs/api-reference/hooks/use-refetchable-fragment.mdx +122 -0
- package/llm-docs/api-reference/hooks/use-relay-environment.mdx +37 -0
- package/llm-docs/api-reference/hooks/use-subscription.mdx +66 -0
- package/llm-docs/api-reference/relay-resolvers/docblock-format.mdx +321 -0
- package/llm-docs/api-reference/relay-resolvers/runtime-functions.mdx +94 -0
- package/llm-docs/api-reference/relay-runtime/commit-mutation.mdx +65 -0
- package/llm-docs/api-reference/relay-runtime/fetch-query.mdx +118 -0
- package/llm-docs/api-reference/relay-runtime/field-logger.mdx +170 -0
- package/llm-docs/api-reference/relay-runtime/observe-fragment.mdx +92 -0
- package/llm-docs/api-reference/relay-runtime/relay-environment.mdx +53 -0
- package/llm-docs/api-reference/relay-runtime/request-subscription.mdx +54 -0
- package/llm-docs/api-reference/relay-runtime/runtime-configuration.mdx +52 -0
- package/llm-docs/api-reference/relay-runtime/store.mdx +734 -0
- package/llm-docs/api-reference/relay-runtime/wait-for-fragment-data.mdx +89 -0
- package/llm-docs/api-reference/types/CacheConfig.mdx +8 -0
- package/llm-docs/api-reference/types/Disposable.mdx +4 -0
- package/llm-docs/api-reference/types/GraphQLSubscriptionConfig.mdx +17 -0
- package/llm-docs/api-reference/types/MutationConfig.mdx +31 -0
- package/llm-docs/api-reference/types/SelectorStoreUpdater.mdx +6 -0
- package/llm-docs/api-reference/types/UploadableMap.mdx +3 -0
- package/llm-docs/community/learning-resources.mdx +64 -0
- package/llm-docs/debugging/declarative-mutation-directives.mdx +34 -0
- package/llm-docs/debugging/disallowed-id-types-error.mdx +43 -0
- package/llm-docs/debugging/inconsistent-typename-error.mdx +47 -0
- package/llm-docs/debugging/relay-devtools.mdx +73 -0
- package/llm-docs/debugging/why-null.mdx +116 -0
- package/llm-docs/editor-support.mdx +55 -0
- package/llm-docs/error-reference/unknown-field.mdx +36 -0
- package/llm-docs/getting-started/babel-plugin.mdx +31 -0
- package/llm-docs/getting-started/compiler-config.mdx +25 -0
- package/llm-docs/getting-started/compiler.mdx +98 -0
- package/llm-docs/getting-started/lint-rules.mdx +87 -0
- package/llm-docs/getting-started/production.mdx +30 -0
- package/llm-docs/getting-started/quick-start.mdx +216 -0
- package/llm-docs/glossary/glossary.mdx +1040 -0
- package/llm-docs/guided-tour/list-data/advanced-pagination.mdx +157 -0
- package/llm-docs/guided-tour/list-data/connections.mdx +81 -0
- package/llm-docs/guided-tour/list-data/pagination.mdx +193 -0
- package/llm-docs/guided-tour/list-data/rendering-connections.mdx +112 -0
- package/llm-docs/guided-tour/list-data/streaming-pagination.mdx +87 -0
- package/llm-docs/guided-tour/managing-data-outside-react/retaining-queries.mdx +51 -0
- package/llm-docs/guided-tour/refetching/refetching-queries-with-different-data.mdx +337 -0
- package/llm-docs/guided-tour/refetching/refreshing-queries.mdx +350 -0
- package/llm-docs/guided-tour/rendering/environment.mdx +59 -0
- package/llm-docs/guided-tour/rendering/error-states.mdx +295 -0
- package/llm-docs/guided-tour/rendering/fragments.mdx +354 -0
- package/llm-docs/guided-tour/rendering/loading-states.mdx +245 -0
- package/llm-docs/guided-tour/rendering/queries.mdx +261 -0
- package/llm-docs/guided-tour/rendering/variables.mdx +233 -0
- package/llm-docs/guided-tour/reusing-cached-data/fetch-policies.mdx +56 -0
- package/llm-docs/guided-tour/reusing-cached-data/filling-in-missing-data.mdx +102 -0
- package/llm-docs/guided-tour/reusing-cached-data/introduction.mdx +22 -0
- package/llm-docs/guided-tour/reusing-cached-data/presence-of-data.mdx +93 -0
- package/llm-docs/guided-tour/reusing-cached-data/rendering-partially-cached-data.mdx +175 -0
- package/llm-docs/guided-tour/reusing-cached-data/staleness-of-data.mdx +116 -0
- package/llm-docs/guided-tour/updating-data/client-only-data.mdx +115 -0
- package/llm-docs/guided-tour/updating-data/graphql-mutations.mdx +334 -0
- package/llm-docs/guided-tour/updating-data/graphql-subscriptions.mdx +279 -0
- package/llm-docs/guided-tour/updating-data/imperatively-modifying-linked-fields.mdx +511 -0
- package/llm-docs/guided-tour/updating-data/imperatively-modifying-store-data-legacy.mdx +142 -0
- package/llm-docs/guided-tour/updating-data/imperatively-modifying-store-data.mdx +275 -0
- package/llm-docs/guided-tour/updating-data/introduction.mdx +25 -0
- package/llm-docs/guided-tour/updating-data/local-data-updates.mdx +71 -0
- package/llm-docs/guided-tour/updating-data/typesafe-updaters-faq.mdx +83 -0
- package/llm-docs/guided-tour/updating-data/updating-connections.mdx +592 -0
- package/llm-docs/guides/alias-directive.mdx +160 -0
- package/llm-docs/guides/catch-directive.mdx +167 -0
- package/llm-docs/guides/client-schema-extensions.mdx +208 -0
- package/llm-docs/guides/codemods.mdx +79 -0
- package/llm-docs/guides/data-driven-dependencies/client-3d.mdx +255 -0
- package/llm-docs/guides/data-driven-dependencies/configuration.mdx +127 -0
- package/llm-docs/guides/data-driven-dependencies/introduction.mdx +39 -0
- package/llm-docs/guides/data-driven-dependencies/server-3d.mdx +664 -0
- package/llm-docs/guides/document-comparison.mdx +106 -0
- package/llm-docs/guides/graphql-server-specification.mdx +453 -0
- package/llm-docs/guides/network-layer.mdx +69 -0
- package/llm-docs/guides/persisted-queries.mdx +328 -0
- package/llm-docs/guides/relay-resolvers/context.mdx +99 -0
- package/llm-docs/guides/relay-resolvers/defining-fields.mdx +151 -0
- package/llm-docs/guides/relay-resolvers/defining-types.mdx +164 -0
- package/llm-docs/guides/relay-resolvers/deprecated.mdx +27 -0
- package/llm-docs/guides/relay-resolvers/derived-fields.mdx +127 -0
- package/llm-docs/guides/relay-resolvers/descriptions.mdx +44 -0
- package/llm-docs/guides/relay-resolvers/enabling.mdx +41 -0
- package/llm-docs/guides/relay-resolvers/errors.mdx +64 -0
- package/llm-docs/guides/relay-resolvers/field-arguments.mdx +63 -0
- package/llm-docs/guides/relay-resolvers/introduction.mdx +62 -0
- package/llm-docs/guides/relay-resolvers/limitations.mdx +30 -0
- package/llm-docs/guides/relay-resolvers/live-fields.mdx +164 -0
- package/llm-docs/guides/relay-resolvers/return-types.mdx +161 -0
- package/llm-docs/guides/relay-resolvers/suspense.mdx +41 -0
- package/llm-docs/guides/required-directive.mdx +240 -0
- package/llm-docs/guides/semantic-nullability.mdx +93 -0
- package/llm-docs/guides/testing-relay-components.mdx +642 -0
- package/llm-docs/guides/testing-relay-with-preloaded-queries.mdx +160 -0
- package/llm-docs/guides/throw-on-field-error-directive.mdx +58 -0
- package/llm-docs/guides/type-emission.mdx +414 -0
- package/llm-docs/home.mdx +32 -0
- package/llm-docs/principles-and-architecture/architecture-overview.mdx +24 -0
- package/llm-docs/principles-and-architecture/compiler-architecture.mdx +106 -0
- package/llm-docs/principles-and-architecture/runtime-architecture.mdx +249 -0
- package/llm-docs/principles-and-architecture/thinking-in-graphql.mdx +309 -0
- package/llm-docs/principles-and-architecture/thinking-in-relay.mdx +104 -0
- package/llm-docs/principles-and-architecture/videos.mdx +50 -0
- package/llm-docs/tutorial/arrays-lists.mdx +126 -0
- package/llm-docs/tutorial/fragments-1.mdx +487 -0
- package/llm-docs/tutorial/graphql.mdx +172 -0
- package/llm-docs/tutorial/interfaces-polymorphism.mdx +161 -0
- package/llm-docs/tutorial/intro.mdx +58 -0
- package/llm-docs/tutorial/mutations-updates.mdx +624 -0
- package/llm-docs/tutorial/organizing-mutations-queries-and-subscriptions.mdx +13 -0
- package/llm-docs/tutorial/queries-1.mdx +267 -0
- package/llm-docs/tutorial/queries-2.mdx +389 -0
- package/llm-docs/tutorial/refetchable-fragments.mdx +352 -0
- package/multi-actor-environment/ActorIdentifier.d.ts +17 -0
- package/multi-actor-environment/ActorIdentifier.js.flow +2 -2
- package/multi-actor-environment/ActorSpecificEnvironment.js.flow +15 -15
- package/multi-actor-environment/ActorUtils.js.flow +1 -1
- package/multi-actor-environment/MultiActorEnvironment.d.ts +123 -0
- package/multi-actor-environment/MultiActorEnvironment.js.flow +32 -24
- package/multi-actor-environment/MultiActorEnvironmentTypes.d.ts +225 -0
- package/multi-actor-environment/MultiActorEnvironmentTypes.js.flow +6 -6
- package/multi-actor-environment/index.d.ts +14 -0
- package/multi-actor-environment.d.ts +8 -0
- package/mutations/RelayDeclarativeMutationConfig.d.ts +70 -0
- package/mutations/RelayDeclarativeMutationConfig.js.flow +9 -9
- package/mutations/RelayRecordProxy.js.flow +8 -11
- package/mutations/RelayRecordSourceMutator.js.flow +4 -4
- package/mutations/RelayRecordSourceProxy.js.flow +4 -4
- package/mutations/RelayRecordSourceSelectorProxy.js.flow +6 -6
- package/mutations/applyOptimisticMutation.d.ts +25 -0
- package/mutations/applyOptimisticMutation.js.flow +2 -2
- package/mutations/commitLocalUpdate.d.ts +10 -0
- package/mutations/commitMutation.d.ts +48 -0
- package/mutations/commitMutation.js.flow +21 -17
- package/mutations/createUpdatableProxy.js.flow +19 -19
- package/mutations/readUpdatableFragment.js.flow +3 -3
- package/mutations/readUpdatableQuery.js.flow +3 -3
- package/mutations/validateMutation.js.flow +7 -7
- package/network/RelayNetwork.d.ts +12 -0
- package/network/RelayNetworkTypes.d.ts +145 -0
- package/network/RelayNetworkTypes.js.flow +18 -18
- package/network/RelayObservable.d.ts +197 -0
- package/network/RelayObservable.js.flow +32 -30
- package/network/RelayQueryResponseCache.d.ts +16 -0
- package/network/RelayQueryResponseCache.js.flow +3 -3
- package/network/wrapNetworkWithLogObserver.js.flow +1 -1
- package/package.json +2 -1
- package/query/GraphQLTag.d.ts +45 -0
- package/query/GraphQLTag.js.flow +22 -10
- package/query/fetchQuery.d.ts +21 -0
- package/query/fetchQuery.js.flow +23 -10
- package/query/fetchQueryInternal.d.ts +26 -0
- package/query/fetchQueryInternal.js.flow +4 -4
- package/query/fetchQuery_DEPRECATED.d.ts +17 -0
- package/query/fetchQuery_DEPRECATED.js.flow +1 -1
- package/store/ClientID.d.ts +14 -0
- package/store/DataChecker.js.flow +51 -15
- package/store/NormalizationEngine.js.flow +782 -0
- package/store/OperationExecutor.d.ts +51 -0
- package/store/OperationExecutor.js.flow +204 -98
- package/store/RelayConcreteVariables.js.flow +5 -5
- package/store/RelayErrorTrie.js.flow +12 -12
- package/store/RelayExperimentalGraphResponseHandler.js.flow +3 -3
- package/store/RelayExperimentalGraphResponseTransform.js.flow +10 -10
- package/store/RelayModernEnvironment.d.ts +97 -0
- package/store/RelayModernEnvironment.js.flow +58 -43
- package/store/RelayModernFragmentSpecResolver.js.flow +1 -1
- package/store/RelayModernOperationDescriptor.d.ts +28 -0
- package/store/RelayModernOperationDescriptor.js.flow +1 -1
- package/store/RelayModernRecord.d.ts +92 -0
- package/store/RelayModernRecord.js.flow +44 -20
- package/store/RelayModernSelector.d.ts +123 -0
- package/store/RelayModernSelector.js.flow +21 -21
- package/store/RelayModernStore.d.ts +57 -0
- package/store/RelayModernStore.js.flow +219 -58
- package/store/RelayOperationTracker.d.ts +29 -0
- package/store/RelayOperationTracker.js.flow +2 -2
- package/store/RelayOptimisticRecordSource.js.flow +2 -2
- package/store/RelayPublishQueue.js.flow +29 -20
- package/store/RelayReader.js.flow +129 -57
- package/store/RelayRecordSource.d.ts +26 -0
- package/store/RelayRecordSource.js.flow +10 -0
- package/store/RelayRecordState.d.ts +28 -0
- package/store/RelayRecordState.js.flow +1 -1
- package/store/RelayReferenceMarker.js.flow +5 -4
- package/store/RelayResponseNormalizer.d.ts +28 -0
- package/store/RelayResponseNormalizer.js.flow +130 -62
- package/store/RelayStoreSubscriptions.js.flow +52 -8
- package/store/RelayStoreTypes.d.ts +1327 -0
- package/store/RelayStoreTypes.js.flow +371 -278
- package/store/RelayStoreUtils.d.ts +86 -0
- package/store/RelayStoreUtils.js.flow +16 -8
- package/store/ResolverCache.js.flow +2 -2
- package/store/ResolverFragments.d.ts +43 -0
- package/store/ResolverFragments.js.flow +22 -14
- package/store/StoreInspector.js.flow +7 -8
- package/store/ViewerPattern.d.ts +11 -0
- package/store/cloneRelayHandleSourceField.js.flow +1 -1
- package/store/cloneRelayScalarHandleSourceField.js.flow +1 -1
- package/store/createFragmentSpecResolver.d.ts +16 -0
- package/store/createRelayContext.js.flow +1 -1
- package/store/createRelayLoggingContext.js.flow +4 -4
- package/store/defaultGetDataID.js.flow +2 -2
- package/store/isRelayModernEnvironment.d.ts +8 -0
- package/store/isRelayModernEnvironment.js.flow +4 -2
- package/store/live-resolvers/LiveResolverCache.js.flow +55 -20
- package/store/live-resolvers/LiveResolverSuspenseSentinel.js.flow +3 -3
- package/store/live-resolvers/getOutputTypeRecordIDs.js.flow +1 -1
- package/store/live-resolvers/isLiveStateValue.js.flow +2 -2
- package/store/live-resolvers/resolverDataInjector.d.ts +27 -0
- package/store/live-resolvers/resolverDataInjector.js.flow +8 -5
- package/store/observeFragmentExperimental.d.ts +46 -0
- package/store/observeFragmentExperimental.js.flow +50 -21
- package/store/observeQueryExperimental.d.ts +30 -0
- package/store/observeQueryExperimental.js.flow +5 -5
- package/store/readInlineData.d.ts +19 -0
- package/store/readInlineData.js.flow +5 -5
- package/store/waitForFragmentExperimental.d.ts +49 -0
- package/store/waitForFragmentExperimental.js.flow +3 -3
- package/subscription/requestSubscription.d.ts +27 -0
- package/subscription/requestSubscription.js.flow +10 -10
- package/util/JSResourceTypes.flow.js.flow +4 -4
- package/util/NormalizationNode.d.ts +235 -0
- package/util/NormalizationNode.js.flow +127 -123
- package/util/ReaderNode.d.ts +264 -0
- package/util/ReaderNode.js.flow +156 -151
- package/util/RelayConcreteNode.d.ts +120 -0
- package/util/RelayConcreteNode.js.flow +32 -32
- package/util/RelayError.d.ts +13 -0
- package/util/RelayError.js.flow +4 -1
- package/util/RelayFeatureFlags.d.ts +40 -0
- package/util/RelayFeatureFlags.js.flow +21 -1
- package/util/RelayProfiler.d.ts +121 -0
- package/util/RelayProfiler.js.flow +1 -1
- package/util/RelayReplaySubject.d.ts +25 -0
- package/util/RelayReplaySubject.js.flow +3 -3
- package/util/RelayRuntimeTypes.d.ts +59 -0
- package/util/RelayRuntimeTypes.js.flow +36 -33
- package/util/createPayloadFor3DField.d.ts +17 -0
- package/util/createPayloadFor3DField.js.flow +9 -5
- package/util/deepFreeze.d.ts +8 -0
- package/util/deepFreeze.js.flow +2 -2
- package/util/getFragmentIdentifier.d.ts +10 -0
- package/util/getFragmentIdentifier.js.flow +1 -1
- package/util/getPaginationMetadata.d.ts +20 -0
- package/util/getPaginationMetadata.js.flow +1 -1
- package/util/getPaginationVariables.d.ts +20 -0
- package/util/getPaginationVariables.js.flow +1 -1
- package/util/getPendingOperationsForFragment.d.ts +18 -0
- package/util/getPendingOperationsForFragment.js.flow +2 -2
- package/util/getRefetchMetadata.d.ts +19 -0
- package/util/getRefetchMetadata.js.flow +6 -5
- package/util/getRelayHandleKey.d.ts +8 -0
- package/util/getRequestIdentifier.d.ts +17 -0
- package/util/getValueAtPath.d.ts +8 -0
- package/util/getValueAtPath.js.flow +3 -3
- package/util/handlePotentialSnapshotErrors.d.ts +14 -0
- package/util/handlePotentialSnapshotErrors.js.flow +5 -5
- package/util/isEmptyObject.js.flow +1 -1
- package/util/isPromise.d.ts +8 -0
- package/util/isPromise.js.flow +2 -2
- package/util/isScalarAndEqual.d.ts +8 -0
- package/util/isScalarAndEqual.js.flow +1 -1
- package/util/recycleNodesInto.d.ts +8 -0
- package/util/recycleNodesInto.js.flow +2 -2
- package/util/registerEnvironmentWithDevTools.js.flow +1 -1
- package/util/shallowFreeze.js.flow +1 -1
- package/util/stableCopy.d.ts +8 -0
- package/util/stableCopy.js.flow +5 -5
- package/util/withProvidedVariables.d.ts +19 -0
- package/util/withProvidedVariables.js.flow +14 -10
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { DataID } from './util/RelayRuntimeTypes';
|
|
9
|
+
|
|
10
|
+
export { resolverDataInjector } from './store/live-resolvers/resolverDataInjector';
|
|
11
|
+
export { observeFragment } from './store/observeFragmentExperimental';
|
|
12
|
+
export { observeQuery } from './store/observeQueryExperimental';
|
|
13
|
+
export { waitForFragmentData } from './store/waitForFragmentExperimental';
|
|
14
|
+
|
|
15
|
+
export type IdOf<_A extends string, Typename extends undefined | string = undefined> = Typename extends undefined
|
|
16
|
+
? { id: DataID }
|
|
17
|
+
: { id: DataID; __typename: Typename };
|
|
18
|
+
|
|
19
|
+
interface ErrorResult<E> {
|
|
20
|
+
ok: false;
|
|
21
|
+
errors: readonly E[];
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
interface OkayResult<T> {
|
|
25
|
+
ok: true;
|
|
26
|
+
value: T;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// The type returned by fields annotated with `@catch`
|
|
30
|
+
export type Result<T, E> = OkayResult<T> | ErrorResult<E>;
|
|
31
|
+
|
|
32
|
+
export function isValueResult<T = unknown>(input: Result<T, unknown>): input is OkayResult<T>;
|
|
33
|
+
|
|
34
|
+
export function isErrorResult<E = unknown>(input: Result<unknown, E>): input is ErrorResult<E>;
|
package/experimental.js
CHANGED
package/experimental.js.flow
CHANGED
|
@@ -22,7 +22,7 @@ const {waitForFragmentData} = require('./store/waitForFragmentExperimental');
|
|
|
22
22
|
// Annotates a strong object return type, where `A` is the GraphQL typename and `Typename` is the
|
|
23
23
|
// `__typename` field for returning an interface
|
|
24
24
|
// eslint-disable-next-line no-unused-vars
|
|
25
|
-
export type IdOf<A
|
|
25
|
+
export type IdOf<A extends string, Typename extends void | string = void> = [
|
|
26
26
|
Typename,
|
|
27
27
|
] extends [void]
|
|
28
28
|
? {id: DataID}
|
|
@@ -41,37 +41,37 @@ export type IdOf<A: string, Typename: void | string = void> = [
|
|
|
41
41
|
* can return null or not. If the field is nullable, you can type it as
|
|
42
42
|
* returning `?RelayResolverValue<T>`.
|
|
43
43
|
*/
|
|
44
|
-
export type RelayResolverValue<A> =
|
|
44
|
+
export type RelayResolverValue<A> = NonNullable<A>;
|
|
45
45
|
|
|
46
46
|
type ErrorResult<Error> = {
|
|
47
|
-
|
|
48
|
-
|
|
47
|
+
readonly ok: false,
|
|
48
|
+
readonly errors: ReadonlyArray<Error>,
|
|
49
49
|
};
|
|
50
50
|
|
|
51
51
|
type OkayResult<T> = {
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
readonly ok: true,
|
|
53
|
+
readonly value: T,
|
|
54
54
|
};
|
|
55
55
|
|
|
56
56
|
export type Result<T, Error> = OkayResult<T> | ErrorResult<Error>;
|
|
57
57
|
|
|
58
|
-
function isValueResult<T =
|
|
58
|
+
function isValueResult<T = unknown>(
|
|
59
59
|
input: Result<T, Error>,
|
|
60
60
|
): input is OkayResult<T> {
|
|
61
61
|
return input.ok === (true as const);
|
|
62
62
|
}
|
|
63
63
|
|
|
64
|
-
function isErrorResult<T =
|
|
64
|
+
function isErrorResult<T = unknown>(
|
|
65
65
|
input: Result<T, Error>,
|
|
66
66
|
): input is ErrorResult<Error> {
|
|
67
67
|
return input.ok === (false as const);
|
|
68
68
|
}
|
|
69
69
|
|
|
70
70
|
module.exports = {
|
|
71
|
-
resolverDataInjector,
|
|
72
|
-
isValueResult,
|
|
73
71
|
isErrorResult,
|
|
74
|
-
|
|
72
|
+
isValueResult,
|
|
75
73
|
observeFragment,
|
|
74
|
+
observeQuery,
|
|
75
|
+
resolverDataInjector,
|
|
76
76
|
waitForFragmentData,
|
|
77
77
|
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { Handler } from '../store/RelayStoreTypes';
|
|
9
|
+
|
|
10
|
+
export type HandlerProvider = (handle: string) => Handler | undefined;
|
|
11
|
+
|
|
12
|
+
export default function RelayDefaultHandlerProvider(handle: string): Handler;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import {
|
|
9
|
+
HandleFieldPayload,
|
|
10
|
+
ReadOnlyRecordProxy,
|
|
11
|
+
RecordProxy,
|
|
12
|
+
RecordSourceProxy,
|
|
13
|
+
} from '../../store/RelayStoreTypes';
|
|
14
|
+
import {DataID, Variables} from '../../util/RelayRuntimeTypes';
|
|
15
|
+
|
|
16
|
+
export interface ConnectionMetadata {
|
|
17
|
+
path: readonly string[] | null | undefined;
|
|
18
|
+
direction: string | null | undefined; // 'forward' | 'backward' | 'bidirectional' | null | undefined;
|
|
19
|
+
cursor: string | null | undefined;
|
|
20
|
+
count: string | null | undefined;
|
|
21
|
+
stream?: boolean | undefined;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export function buildConnectionEdge(
|
|
25
|
+
store: RecordSourceProxy,
|
|
26
|
+
connection: RecordProxy,
|
|
27
|
+
edge: RecordProxy | null | undefined,
|
|
28
|
+
): RecordProxy | null | undefined;
|
|
29
|
+
|
|
30
|
+
export function createEdge(
|
|
31
|
+
store: RecordSourceProxy,
|
|
32
|
+
record: RecordProxy,
|
|
33
|
+
node: RecordProxy,
|
|
34
|
+
edgeType: string,
|
|
35
|
+
): RecordProxy;
|
|
36
|
+
|
|
37
|
+
export function deleteNode(record: RecordProxy, nodeID: DataID): void;
|
|
38
|
+
|
|
39
|
+
export function getConnection(
|
|
40
|
+
record: ReadOnlyRecordProxy,
|
|
41
|
+
key: string,
|
|
42
|
+
filters?: Variables | null,
|
|
43
|
+
): RecordProxy | null | undefined;
|
|
44
|
+
|
|
45
|
+
export function getConnectionID(recordID: DataID, key: string, filters?: Variables | null): DataID;
|
|
46
|
+
|
|
47
|
+
export function insertEdgeAfter(record: RecordProxy, newEdge: RecordProxy, cursor?: string | null): void;
|
|
48
|
+
|
|
49
|
+
export function insertEdgeBefore(record: RecordProxy, newEdge: RecordProxy, cursor?: string | null): void;
|
|
50
|
+
|
|
51
|
+
export function update(store: RecordSourceProxy, payload: HandleFieldPayload): void;
|
|
@@ -166,7 +166,7 @@ function update(store: RecordSourceProxy, payload: HandleFieldPayload): void {
|
|
|
166
166
|
// end cursor from the server matches the end cursor from the
|
|
167
167
|
// client then we're just filling out the rest of this page.
|
|
168
168
|
if (isAddingEdgesAfterCurrentPage || isFillingOutCurrentPage) {
|
|
169
|
-
const nodeIDs = new Set<
|
|
169
|
+
const nodeIDs = new Set<unknown>();
|
|
170
170
|
mergeEdges(prevEdges, nextEdges, nodeIDs);
|
|
171
171
|
mergeEdges(serverEdges, nextEdges, nodeIDs);
|
|
172
172
|
} else {
|
|
@@ -185,7 +185,7 @@ function update(store: RecordSourceProxy, payload: HandleFieldPayload): void {
|
|
|
185
185
|
clientPageInfo &&
|
|
186
186
|
args.before === clientPageInfo.getValue(START_CURSOR)
|
|
187
187
|
) {
|
|
188
|
-
const nodeIDs = new Set<
|
|
188
|
+
const nodeIDs = new Set<unknown>();
|
|
189
189
|
mergeEdges(serverEdges, nextEdges, nodeIDs);
|
|
190
190
|
mergeEdges(prevEdges, nextEdges, nodeIDs);
|
|
191
191
|
} else {
|
|
@@ -380,7 +380,7 @@ function insertEdgeAfter(
|
|
|
380
380
|
if (cursor == null) {
|
|
381
381
|
nextEdges = edges.concat(newEdge);
|
|
382
382
|
} else {
|
|
383
|
-
nextEdges =
|
|
383
|
+
nextEdges = [] as Array<?RecordProxy>;
|
|
384
384
|
let foundCursor = false;
|
|
385
385
|
for (let ii = 0; ii < edges.length; ii++) {
|
|
386
386
|
const edge = edges[ii];
|
|
@@ -484,7 +484,7 @@ function insertEdgeBefore(
|
|
|
484
484
|
if (cursor == null) {
|
|
485
485
|
nextEdges = [newEdge].concat(edges);
|
|
486
486
|
} else {
|
|
487
|
-
nextEdges =
|
|
487
|
+
nextEdges = [] as Array<?RecordProxy>;
|
|
488
488
|
let foundCursor = false;
|
|
489
489
|
for (let ii = 0; ii < edges.length; ii++) {
|
|
490
490
|
const edge = edges[ii];
|
|
@@ -584,7 +584,7 @@ function buildConnectionEdge(
|
|
|
584
584
|
function mergeEdges(
|
|
585
585
|
sourceEdges: Array<?RecordProxy>,
|
|
586
586
|
targetEdges: Array<?RecordProxy>,
|
|
587
|
-
nodeIDs: Set<
|
|
587
|
+
nodeIDs: Set<unknown>,
|
|
588
588
|
): void {
|
|
589
589
|
const {NODE} = ConnectionInterface.get();
|
|
590
590
|
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { DataID } from '../../util/RelayRuntimeTypes';
|
|
9
|
+
|
|
10
|
+
export interface EdgeRecord extends Record<string, unknown> {
|
|
11
|
+
cursor: unknown;
|
|
12
|
+
node: Record<DataID, unknown>;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export interface PageInfo {
|
|
16
|
+
endCursor: string | null | undefined;
|
|
17
|
+
hasNextPage: boolean;
|
|
18
|
+
hasPreviousPage: boolean;
|
|
19
|
+
startCursor: string | null | undefined;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
interface ConnectionConfig {
|
|
23
|
+
CURSOR: string;
|
|
24
|
+
EDGES: string;
|
|
25
|
+
END_CURSOR: string;
|
|
26
|
+
HAS_NEXT_PAGE: string;
|
|
27
|
+
HAS_PREV_PAGE: string;
|
|
28
|
+
NODE: string;
|
|
29
|
+
PAGE_INFO: string;
|
|
30
|
+
PAGE_INFO_TYPE: string;
|
|
31
|
+
START_CURSOR: string;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
declare const ConnectionInterface: {
|
|
35
|
+
get(): ConnectionConfig;
|
|
36
|
+
|
|
37
|
+
inject(newConfig: ConnectionConfig): void;
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
export default ConnectionInterface;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import type { Handler } from '../../store/RelayStoreTypes';
|
|
9
|
+
|
|
10
|
+
export const MutationHandlers: {
|
|
11
|
+
DeleteRecordHandler: Handler;
|
|
12
|
+
DeleteEdgeHandler: Handler;
|
|
13
|
+
AppendEdgeHandler: Handler;
|
|
14
|
+
PrependEdgeHandler: Handler;
|
|
15
|
+
AppendNodeHandler: Handler;
|
|
16
|
+
PrependNodeHandler: Handler;
|
|
17
|
+
};
|
package/index.d.ts
ADDED
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import * as ConnectionHandler from './handlers/connection/ConnectionHandler';
|
|
9
|
+
import ConnectionInterface from './handlers/connection/ConnectionInterface';
|
|
10
|
+
// Extensions
|
|
11
|
+
import RelayDefaultHandlerProvider from './handlers/RelayDefaultHandlerProvider';
|
|
12
|
+
import QueryResponseCache from './network/RelayQueryResponseCache';
|
|
13
|
+
import * as fetchQueryInternal from './query/fetchQueryInternal';
|
|
14
|
+
import * as RelayResolverFragments from './store/ResolverFragments';
|
|
15
|
+
import withProvidedVariables from './util/withProvidedVariables';
|
|
16
|
+
|
|
17
|
+
export { ConnectionInterface };
|
|
18
|
+
export { ConnectionMetadata } from './handlers/connection/ConnectionHandler';
|
|
19
|
+
export { EdgeRecord, PageInfo } from './handlers/connection/ConnectionInterface';
|
|
20
|
+
export { OptimisticMutationConfig } from './mutations/applyOptimisticMutation';
|
|
21
|
+
export { MutationConfig, MutationParameters } from './mutations/commitMutation';
|
|
22
|
+
export {
|
|
23
|
+
DeclarativeMutationConfig,
|
|
24
|
+
MutationTypes,
|
|
25
|
+
RangeBehaviors,
|
|
26
|
+
RangeOperations,
|
|
27
|
+
} from './mutations/RelayDeclarativeMutationConfig';
|
|
28
|
+
export {
|
|
29
|
+
MutationTypes as MutationType,
|
|
30
|
+
RangeOperations as RangeOperation,
|
|
31
|
+
} from './mutations/RelayDeclarativeMutationConfig';
|
|
32
|
+
export {
|
|
33
|
+
ExecuteFunction,
|
|
34
|
+
FetchFunction,
|
|
35
|
+
GraphQLResponse,
|
|
36
|
+
GraphQLResponseWithData,
|
|
37
|
+
GraphQLResponseWithoutData,
|
|
38
|
+
GraphQLSingularResponse,
|
|
39
|
+
LogRequestInfoFunction,
|
|
40
|
+
Network as INetwork,
|
|
41
|
+
PayloadData,
|
|
42
|
+
PayloadError,
|
|
43
|
+
ReactFlightPayloadData,
|
|
44
|
+
ReactFlightPayloadQuery,
|
|
45
|
+
ReactFlightServerTree,
|
|
46
|
+
SubscribeFunction,
|
|
47
|
+
Uploadable,
|
|
48
|
+
UploadableMap,
|
|
49
|
+
} from './network/RelayNetworkTypes';
|
|
50
|
+
export { ObservableFromValue, Observer, Subscribable, Subscription } from './network/RelayObservable';
|
|
51
|
+
export {
|
|
52
|
+
getFragment,
|
|
53
|
+
getInlineDataFragment,
|
|
54
|
+
getNode,
|
|
55
|
+
getPaginationFragment,
|
|
56
|
+
getRefetchableFragment,
|
|
57
|
+
getRequest,
|
|
58
|
+
graphql,
|
|
59
|
+
GraphQLTaggedNode,
|
|
60
|
+
isFragment,
|
|
61
|
+
isInlineDataFragment,
|
|
62
|
+
isRequest,
|
|
63
|
+
} from './query/GraphQLTag';
|
|
64
|
+
export { generateClientID, generateUniqueClientID, isClientID } from './store/ClientID';
|
|
65
|
+
export { TaskScheduler } from './store/OperationExecutor';
|
|
66
|
+
export { RecordState } from './store/RelayRecordState';
|
|
67
|
+
export {
|
|
68
|
+
Environment as IEnvironment,
|
|
69
|
+
FragmentMap,
|
|
70
|
+
FragmentPointer,
|
|
71
|
+
FragmentSpecResolver,
|
|
72
|
+
FragmentType,
|
|
73
|
+
/** @deprecated use FragmentType instead of FragmentReference */
|
|
74
|
+
FragmentType as FragmentReference,
|
|
75
|
+
HandleFieldPayload,
|
|
76
|
+
HasUpdatableSpread,
|
|
77
|
+
InvalidationState,
|
|
78
|
+
LiveState,
|
|
79
|
+
LogEvent,
|
|
80
|
+
LogFunction,
|
|
81
|
+
MissingFieldHandler,
|
|
82
|
+
ModuleImportPointer,
|
|
83
|
+
MutableRecordSource,
|
|
84
|
+
NormalizationSelector,
|
|
85
|
+
OperationAvailability,
|
|
86
|
+
OperationDescriptor,
|
|
87
|
+
OperationLoader,
|
|
88
|
+
OperationTracker,
|
|
89
|
+
OptimisticResponseConfig,
|
|
90
|
+
OptimisticUpdate,
|
|
91
|
+
OptimisticUpdateFunction,
|
|
92
|
+
PluralReaderSelector,
|
|
93
|
+
Props,
|
|
94
|
+
PublishQueue,
|
|
95
|
+
ReactFlightClientResponse,
|
|
96
|
+
ReactFlightPayloadDeserializer,
|
|
97
|
+
ReaderSelector,
|
|
98
|
+
ReadOnlyRecordProxy,
|
|
99
|
+
RecordProxy,
|
|
100
|
+
RecordSourceProxy,
|
|
101
|
+
RecordSourceSelectorProxy,
|
|
102
|
+
RelayContext,
|
|
103
|
+
RelayFieldLogger,
|
|
104
|
+
RequestDescriptor,
|
|
105
|
+
SelectorData,
|
|
106
|
+
SelectorStoreUpdater,
|
|
107
|
+
SingularReaderSelector,
|
|
108
|
+
Snapshot,
|
|
109
|
+
StoreUpdater,
|
|
110
|
+
suspenseSentinel,
|
|
111
|
+
UpdatableFragmentData,
|
|
112
|
+
UpdatableQueryData,
|
|
113
|
+
} from './store/RelayStoreTypes';
|
|
114
|
+
export { GraphQLSubscriptionConfig } from './subscription/requestSubscription';
|
|
115
|
+
export {
|
|
116
|
+
NormalizationArgument,
|
|
117
|
+
NormalizationDefer,
|
|
118
|
+
NormalizationField,
|
|
119
|
+
NormalizationFlightField,
|
|
120
|
+
NormalizationLinkedField,
|
|
121
|
+
NormalizationLinkedHandle,
|
|
122
|
+
NormalizationLocalArgumentDefinition,
|
|
123
|
+
NormalizationModuleImport,
|
|
124
|
+
NormalizationOperation,
|
|
125
|
+
NormalizationRootNode,
|
|
126
|
+
NormalizationScalarField,
|
|
127
|
+
NormalizationSelection,
|
|
128
|
+
NormalizationSplitOperation,
|
|
129
|
+
NormalizationStream,
|
|
130
|
+
NormalizationTypeDiscriminator,
|
|
131
|
+
} from './util/NormalizationNode';
|
|
132
|
+
export {
|
|
133
|
+
ReaderArgument,
|
|
134
|
+
ReaderArgumentDefinition,
|
|
135
|
+
ReaderCondition,
|
|
136
|
+
ReaderField,
|
|
137
|
+
ReaderFlightField,
|
|
138
|
+
ReaderFragment,
|
|
139
|
+
ReaderInlineDataFragment,
|
|
140
|
+
ReaderInlineDataFragmentSpread,
|
|
141
|
+
ReaderInlineFragment,
|
|
142
|
+
ReaderLinkedField,
|
|
143
|
+
ReaderModuleImport,
|
|
144
|
+
ReaderPaginationMetadata,
|
|
145
|
+
ReaderRefetchableFragment,
|
|
146
|
+
ReaderRefetchMetadata,
|
|
147
|
+
ReaderRequiredField,
|
|
148
|
+
ReaderScalarField,
|
|
149
|
+
ReaderSelection,
|
|
150
|
+
RequiredFieldAction,
|
|
151
|
+
} from './util/ReaderNode';
|
|
152
|
+
export {
|
|
153
|
+
ConcreteRequest,
|
|
154
|
+
ConcreteUpdatableQuery,
|
|
155
|
+
GeneratedNode,
|
|
156
|
+
PreloadableConcreteRequest,
|
|
157
|
+
RequestParameters,
|
|
158
|
+
} from './util/RelayConcreteNode';
|
|
159
|
+
export { RelayReplaySubject as ReplaySubject } from './util/RelayReplaySubject';
|
|
160
|
+
export * from './util/RelayRuntimeTypes';
|
|
161
|
+
// Core API
|
|
162
|
+
export { RelayNetwork as Network } from './network/RelayNetwork';
|
|
163
|
+
export { RelayObservable as Observable } from './network/RelayObservable';
|
|
164
|
+
export { default as Environment, EnvironmentConfig } from './store/RelayModernEnvironment';
|
|
165
|
+
export { QueryResponseCache };
|
|
166
|
+
export { RelayModernRecord as Record } from './store/RelayModernRecord';
|
|
167
|
+
export { default as Store } from './store/RelayModernStore';
|
|
168
|
+
export { RelayRecordSource as RecordSource } from './store/RelayRecordSource';
|
|
169
|
+
export { type IdOf, isErrorResult, isValueResult, type Result } from './experimental';
|
|
170
|
+
export { createFragmentSpecResolver } from './store/createFragmentSpecResolver';
|
|
171
|
+
export { readInlineData } from './store/readInlineData';
|
|
172
|
+
export { createOperationDescriptor, createRequestDescriptor } from './store/RelayModernOperationDescriptor';
|
|
173
|
+
export {
|
|
174
|
+
areEqualSelectors,
|
|
175
|
+
createNormalizationSelector,
|
|
176
|
+
createReaderSelector,
|
|
177
|
+
getDataIDsFromFragment,
|
|
178
|
+
getDataIDsFromObject,
|
|
179
|
+
getPluralSelector,
|
|
180
|
+
getSelector,
|
|
181
|
+
getSelectorsFromObject,
|
|
182
|
+
getSingularSelector,
|
|
183
|
+
getVariablesFromFragment,
|
|
184
|
+
getVariablesFromObject,
|
|
185
|
+
getVariablesFromPluralFragment,
|
|
186
|
+
getVariablesFromSingularFragment,
|
|
187
|
+
} from './store/RelayModernSelector';
|
|
188
|
+
export {
|
|
189
|
+
FRAGMENT_OWNER_KEY,
|
|
190
|
+
FRAGMENTS_KEY,
|
|
191
|
+
getModuleComponentKey,
|
|
192
|
+
getModuleOperationKey,
|
|
193
|
+
getStorageKey,
|
|
194
|
+
ID_KEY,
|
|
195
|
+
REF_KEY,
|
|
196
|
+
REFS_KEY,
|
|
197
|
+
ROOT_ID,
|
|
198
|
+
ROOT_TYPE,
|
|
199
|
+
TYPENAME_KEY,
|
|
200
|
+
} from './store/RelayStoreUtils';
|
|
201
|
+
export { readFragment } from './store/ResolverFragments';
|
|
202
|
+
export { RelayDefaultHandlerProvider as DefaultHandlerProvider };
|
|
203
|
+
export declare function getDefaultMissingFieldHandlers(): import('./store/RelayStoreTypes').MissingFieldHandler[];
|
|
204
|
+
export { ConnectionHandler };
|
|
205
|
+
export { MutationHandlers } from './handlers/connection/MutationHandlers';
|
|
206
|
+
export { VIEWER_ID, VIEWER_TYPE } from './store/ViewerPattern';
|
|
207
|
+
// Helpers (can be implemented via the above API)
|
|
208
|
+
export { applyOptimisticMutation } from './mutations/applyOptimisticMutation';
|
|
209
|
+
export { commitLocalUpdate } from './mutations/commitLocalUpdate';
|
|
210
|
+
export { commitMutation } from './mutations/commitMutation';
|
|
211
|
+
export { fetchQuery } from './query/fetchQuery';
|
|
212
|
+
export { fetchQuery_DEPRECATED } from './query/fetchQuery_DEPRECATED';
|
|
213
|
+
export { isRelayModernEnvironment } from './store/isRelayModernEnvironment';
|
|
214
|
+
export { requestSubscription } from './subscription/requestSubscription';
|
|
215
|
+
// Utilities
|
|
216
|
+
export { default as createPayloadFor3DField } from './util/createPayloadFor3DField';
|
|
217
|
+
export { default as getFragmentIdentifier } from './util/getFragmentIdentifier';
|
|
218
|
+
export { default as getPaginationMetadata } from './util/getPaginationMetadata';
|
|
219
|
+
export { default as getPaginationVariables } from './util/getPaginationVariables';
|
|
220
|
+
export { Direction } from './util/getPaginationVariables';
|
|
221
|
+
export { default as getRefetchMetadata } from './util/getRefetchMetadata';
|
|
222
|
+
export { default as getRelayHandleKey } from './util/getRelayHandleKey';
|
|
223
|
+
export { default as getRequestIdentifier } from './util/getRequestIdentifier';
|
|
224
|
+
export { default as getValueAtPath } from './util/getValueAtPath';
|
|
225
|
+
export { default as handlePotentialSnapshotErrors } from './util/handlePotentialSnapshotErrors';
|
|
226
|
+
export declare const PreloadableQueryRegistry: {
|
|
227
|
+
set(key: string, value: import('./util/RelayConcreteNode').ConcreteRequest): void;
|
|
228
|
+
get(key: string): import('./util/RelayConcreteNode').ConcreteRequest | null | undefined;
|
|
229
|
+
onLoad(key: string, callback: (concreteRequest: import('./util/RelayConcreteNode').ConcreteRequest) => void): import('./util/RelayRuntimeTypes').Disposable;
|
|
230
|
+
clear(): void;
|
|
231
|
+
};
|
|
232
|
+
export { RelayProfiler } from './util/RelayProfiler';
|
|
233
|
+
// INTERNAL-ONLY
|
|
234
|
+
export { RelayConcreteNode } from './util/RelayConcreteNode';
|
|
235
|
+
export { default as RelayError } from './util/RelayError';
|
|
236
|
+
export { RelayFeatureFlags } from './util/RelayFeatureFlags';
|
|
237
|
+
export const DEFAULT_HANDLE_KEY = '';
|
|
238
|
+
export { default as deepFreeze } from './util/deepFreeze';
|
|
239
|
+
export { default as getPendingOperationsForFragment } from './util/getPendingOperationsForFragment';
|
|
240
|
+
export { default as isPromise } from './util/isPromise';
|
|
241
|
+
export { default as isScalarAndEqual } from './util/isScalarAndEqual';
|
|
242
|
+
export { default as recycleNodesInto } from './util/recycleNodesInto';
|
|
243
|
+
export { default as stableCopy } from './util/stableCopy';
|
|
244
|
+
|
|
245
|
+
interface Internal {
|
|
246
|
+
fetchQuery: typeof fetchQueryInternal.fetchQuery;
|
|
247
|
+
fetchQueryDeduped: typeof fetchQueryInternal.fetchQueryDeduped;
|
|
248
|
+
getPromiseForActiveRequest: typeof fetchQueryInternal.getPromiseForActiveRequest;
|
|
249
|
+
getObservableForActiveRequest: typeof fetchQueryInternal.getObservableForActiveRequest;
|
|
250
|
+
ResolverFragments: typeof RelayResolverFragments;
|
|
251
|
+
withProvidedVariables: typeof withProvidedVariables;
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
export const __internal: Internal;
|
|
255
|
+
|
|
256
|
+
/**
|
|
257
|
+
* relay-compiler-language-typescript support for fragment references
|
|
258
|
+
*/
|
|
259
|
+
|
|
260
|
+
export interface _RefType<Ref extends string> {
|
|
261
|
+
' $fragmentType': Ref;
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
export interface _FragmentRefs<Refs extends string> {
|
|
265
|
+
' $fragmentSpreads': FragmentRefs<Refs>;
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
// This is used in the actual artifacts to define the various fragment references a container holds.
|
|
269
|
+
export type FragmentRefs<Refs extends string> = {
|
|
270
|
+
[ref in Refs]: true;
|
|
271
|
+
};
|
|
272
|
+
|
|
273
|
+
// This is a utility type for converting from a data type to a fragment reference that will resolve to that data type.
|
|
274
|
+
export type FragmentRef<Fragment> = Fragment extends _RefType<infer U> ? _FragmentRefs<U> : never;
|
package/index.js
CHANGED