From 3535cd80db58864321a7de8e8fca2b780c8b4e5d Mon Sep 17 00:00:00 2001 From: Iha Shin Date: Sun, 8 Jun 2025 15:16:03 +0900 Subject: [PATCH] fix!: drop support for async preloaded queries --- .changeset/silver-cases-heal.md | 5 +++++ src/primitives/createPreloadedQuery.ts | 20 ++++++-------------- 2 files changed, 11 insertions(+), 14 deletions(-) create mode 100644 .changeset/silver-cases-heal.md diff --git a/.changeset/silver-cases-heal.md b/.changeset/silver-cases-heal.md new file mode 100644 index 0000000..f47d78f --- /dev/null +++ b/.changeset/silver-cases-heal.md @@ -0,0 +1,5 @@ +--- +"solid-relay": patch +--- + +fix!: drop support for async preloaded queries diff --git a/src/primitives/createPreloadedQuery.ts b/src/primitives/createPreloadedQuery.ts index 252c250..99f7e65 100644 --- a/src/primitives/createPreloadedQuery.ts +++ b/src/primitives/createPreloadedQuery.ts @@ -4,7 +4,6 @@ import { __internal, getRequest, } from "relay-runtime"; -import { createResource } from "solid-js"; import invariant from "tiny-invariant"; import { useRelayEnvironment } from "../RelayEnvironment"; import type { PreloadedQuery } from "../loadQuery"; @@ -13,31 +12,24 @@ import { createMemoOperationDescriptor } from "../utils/createMemoOperationDescr import type { DataStore } from "../utils/dataStore"; import { createLazyLoadQueryInternal } from "./createLazyLoadQuery"; -type MaybePromise = T | Promise; - export function createPreloadedQuery( query: GraphQLTaggedNode, - preloadedQuery: MaybeAccessor>>, + preloadedQuery: MaybeAccessor>, ): DataStore { const environment = useRelayEnvironment(); - const [maybePreloaded] = createResource( - () => access(preloadedQuery), - (v) => v, - ); const operation = createMemoOperationDescriptor( query, - () => maybePreloaded.latest?.variables, - () => maybePreloaded.latest?.networkCacheConfig ?? undefined, + () => access(preloadedQuery).variables, + () => access(preloadedQuery).networkCacheConfig ?? undefined, ); return createLazyLoadQueryInternal({ query: operation, fragment: () => getRequest(query).fragment, - fetchKey: () => maybePreloaded.latest?.fetchKey, - fetchPolicy: () => maybePreloaded.latest?.fetchPolicy, + fetchKey: () => access(preloadedQuery).fetchKey, + fetchPolicy: () => access(preloadedQuery).fetchPolicy, fetchObservable: () => { - const preloaded = maybePreloaded.latest; - if (!preloaded) return; + const preloaded = access(preloadedQuery); invariant( preloaded.controls == null || !preloaded.controls?.value.isDisposed(),