@tanstack/router-ssr-query-core 1.131.7 → 1.132.0-alpha.0

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.
@@ -14,7 +14,7 @@ function setupCoreRouterSsrQueryIntegration({
14
14
  const queryStream = createPushableStream();
15
15
  router.options.dehydrate = async () => {
16
16
  router.serverSsr.onRenderFinished(() => queryStream.close());
17
- const ogDehydrated = await (ogDehydrate == null ? void 0 : ogDehydrate());
17
+ const ogDehydrated = await ogDehydrate?.();
18
18
  const dehydratedRouter = {
19
19
  ...ogDehydrated,
20
20
  // prepare the stream for queries coming up during rendering
@@ -38,8 +38,7 @@ function setupCoreRouterSsrQueryIntegration({
38
38
  }
39
39
  });
40
40
  queryClient.getQueryCache().subscribe((event) => {
41
- var _a;
42
- if (!((_a = router.serverSsr) == null ? void 0 : _a.isDehydrated())) {
41
+ if (!router.serverSsr?.isDehydrated()) {
43
42
  return;
44
43
  }
45
44
  if (sentQueries.has(event.query.queryHash)) {
@@ -58,9 +57,8 @@ function setupCoreRouterSsrQueryIntegration({
58
57
  queryStream.enqueue(
59
58
  queryCore.dehydrate(queryClient, {
60
59
  shouldDehydrateQuery: (query) => {
61
- var _a2, _b;
62
60
  if (query.queryHash === event.query.queryHash) {
63
- return ((_b = (_a2 = ogClientOptions.dehydrate) == null ? void 0 : _a2.shouldDehydrateQuery) == null ? void 0 : _b.call(_a2, query)) ?? true;
61
+ return ogClientOptions.dehydrate?.shouldDehydrateQuery?.(query) ?? true;
64
62
  }
65
63
  return false;
66
64
  }
@@ -69,7 +67,7 @@ function setupCoreRouterSsrQueryIntegration({
69
67
  });
70
68
  } else {
71
69
  router.options.hydrate = async (dehydrated) => {
72
- await (ogHydrate == null ? void 0 : ogHydrate(dehydrated));
70
+ await ogHydrate?.(dehydrated);
73
71
  if (dehydrated.dehydratedQueryClient) {
74
72
  queryCore.hydrate(queryClient, dehydrated.dehydratedQueryClient);
75
73
  }
@@ -90,13 +88,11 @@ function setupCoreRouterSsrQueryIntegration({
90
88
  queryClient.getMutationCache().config = {
91
89
  ...ogMutationCacheConfig,
92
90
  onError: (error, _variables, _context, _mutation) => {
93
- var _a;
94
91
  if (routerCore.isRedirect(error)) {
95
92
  error.options._fromLocation = router.state.location;
96
93
  return router.navigate(router.resolveRedirect(error).options);
97
94
  }
98
- return (_a = ogMutationCacheConfig.onError) == null ? void 0 : _a.call(
99
- ogMutationCacheConfig,
95
+ return ogMutationCacheConfig.onError?.(
100
96
  error,
101
97
  _variables,
102
98
  _context,
@@ -108,12 +104,11 @@ function setupCoreRouterSsrQueryIntegration({
108
104
  queryClient.getQueryCache().config = {
109
105
  ...ogQueryCacheConfig,
110
106
  onError: (error, _query) => {
111
- var _a;
112
107
  if (routerCore.isRedirect(error)) {
113
108
  error.options._fromLocation = router.state.location;
114
109
  return router.navigate(router.resolveRedirect(error).options);
115
110
  }
116
- return (_a = ogQueryCacheConfig.onError) == null ? void 0 : _a.call(ogQueryCacheConfig, error, _query);
111
+ return ogQueryCacheConfig.onError?.(error, _query);
117
112
  }
118
113
  };
119
114
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/index.ts"],"sourcesContent":["import {\n dehydrate as queryDehydrate,\n hydrate as queryHydrate,\n} from '@tanstack/query-core'\nimport { isRedirect } from '@tanstack/router-core'\nimport type { AnyRouter } from '@tanstack/router-core'\nimport type {\n QueryClient,\n DehydratedState as QueryDehydratedState,\n} from '@tanstack/query-core'\n\nexport type RouterSsrQueryOptions<TRouter extends AnyRouter> = {\n router: TRouter\n queryClient: QueryClient\n\n /**\n * If `true`, the QueryClient will handle errors thrown by `redirect()` inside of mutations and queries.\n *\n * @default true\n * @link [Guide](https://tanstack.com/router/latest/docs/framework/react/api/router/redirectFunction)\n */\n handleRedirects?: boolean\n}\n\ntype DehydratedRouterQueryState = {\n dehydratedQueryClient?: QueryDehydratedState\n queryStream: ReadableStream<QueryDehydratedState>\n}\n\nexport function setupCoreRouterSsrQueryIntegration<TRouter extends AnyRouter>({\n router,\n queryClient,\n handleRedirects = true,\n}: RouterSsrQueryOptions<TRouter>) {\n const ogHydrate = router.options.hydrate\n const ogDehydrate = router.options.dehydrate\n\n if (router.isServer) {\n const sentQueries = new Set<string>()\n const queryStream = createPushableStream()\n\n router.options.dehydrate =\n async (): Promise<DehydratedRouterQueryState> => {\n router.serverSsr!.onRenderFinished(() => queryStream.close())\n const ogDehydrated = await ogDehydrate?.()\n\n const dehydratedRouter = {\n ...ogDehydrated,\n // prepare the stream for queries coming up during rendering\n queryStream: queryStream.stream,\n }\n\n const dehydratedQueryClient = queryDehydrate(queryClient)\n if (dehydratedQueryClient.queries.length > 0) {\n dehydratedQueryClient.queries.forEach((query) => {\n sentQueries.add(query.queryHash)\n })\n dehydratedRouter.dehydratedQueryClient = dehydratedQueryClient\n }\n\n return dehydratedRouter\n }\n\n const ogClientOptions = queryClient.getDefaultOptions()\n queryClient.setDefaultOptions({\n ...ogClientOptions,\n dehydrate: {\n shouldDehydrateQuery: () => true,\n ...ogClientOptions.dehydrate,\n },\n })\n\n queryClient.getQueryCache().subscribe((event) => {\n // before rendering starts, we do not stream individual queries\n // instead we dehydrate the entire query client in router's dehydrate()\n // if attachRouterServerSsrUtils() has not been called yet, `router.serverSsr` will be undefined and we also do not stream\n if (!router.serverSsr?.isDehydrated()) {\n return\n }\n if (sentQueries.has(event.query.queryHash)) {\n return\n }\n if (queryStream.isClosed()) {\n console.warn(\n `tried to stream query ${event.query.queryHash} after stream was already closed`,\n )\n return\n }\n // promise not yet set on the query, so we cannot stream it yet\n if (!event.query.promise) {\n return\n }\n sentQueries.add(event.query.queryHash)\n queryStream.enqueue(\n queryDehydrate(queryClient, {\n shouldDehydrateQuery: (query) => {\n if (query.queryHash === event.query.queryHash) {\n return (\n ogClientOptions.dehydrate?.shouldDehydrateQuery?.(query) ?? true\n )\n }\n return false\n },\n }),\n )\n })\n // on the client\n } else {\n router.options.hydrate = async (dehydrated: DehydratedRouterQueryState) => {\n await ogHydrate?.(dehydrated)\n // hydrate the query client with the dehydrated data (if it was dehydrated on the server)\n if (dehydrated.dehydratedQueryClient) {\n queryHydrate(queryClient, dehydrated.dehydratedQueryClient)\n }\n\n // read the query stream and hydrate the queries as they come in\n const reader = dehydrated.queryStream.getReader()\n reader\n .read()\n .then(async function handle({ done, value }) {\n queryHydrate(queryClient, value)\n if (done) {\n return\n }\n const result = await reader.read()\n return handle(result)\n })\n .catch((err) => {\n console.error('Error reading query stream:', err)\n })\n }\n if (handleRedirects) {\n const ogMutationCacheConfig = queryClient.getMutationCache().config\n queryClient.getMutationCache().config = {\n ...ogMutationCacheConfig,\n onError: (error, _variables, _context, _mutation) => {\n if (isRedirect(error)) {\n error.options._fromLocation = router.state.location\n return router.navigate(router.resolveRedirect(error).options)\n }\n\n return ogMutationCacheConfig.onError?.(\n error,\n _variables,\n _context,\n _mutation,\n )\n },\n }\n\n const ogQueryCacheConfig = queryClient.getQueryCache().config\n queryClient.getQueryCache().config = {\n ...ogQueryCacheConfig,\n onError: (error, _query) => {\n if (isRedirect(error)) {\n error.options._fromLocation = router.state.location\n return router.navigate(router.resolveRedirect(error).options)\n }\n\n return ogQueryCacheConfig.onError?.(error, _query)\n },\n }\n }\n }\n}\n\ntype PushableStream = {\n stream: ReadableStream\n enqueue: (chunk: unknown) => void\n close: () => void\n isClosed: () => boolean\n error: (err: unknown) => void\n}\n\nfunction createPushableStream(): PushableStream {\n let controllerRef: ReadableStreamDefaultController\n const stream = new ReadableStream({\n start(controller) {\n controllerRef = controller\n },\n })\n let _isClosed = false\n\n return {\n stream,\n enqueue: (chunk) => controllerRef.enqueue(chunk),\n close: () => {\n controllerRef.close()\n _isClosed = true\n },\n isClosed: () => _isClosed,\n error: (err: unknown) => controllerRef.error(err),\n }\n}\n"],"names":["queryDehydrate","_a","queryHydrate","isRedirect"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/index.ts"],"sourcesContent":["import {\n dehydrate as queryDehydrate,\n hydrate as queryHydrate,\n} from '@tanstack/query-core'\nimport { isRedirect } from '@tanstack/router-core'\nimport type { AnyRouter } from '@tanstack/router-core'\nimport type {\n QueryClient,\n DehydratedState as QueryDehydratedState,\n} from '@tanstack/query-core'\n\nexport type RouterSsrQueryOptions<TRouter extends AnyRouter> = {\n router: TRouter\n queryClient: QueryClient\n\n /**\n * If `true`, the QueryClient will handle errors thrown by `redirect()` inside of mutations and queries.\n *\n * @default true\n * @link [Guide](https://tanstack.com/router/latest/docs/framework/react/api/router/redirectFunction)\n */\n handleRedirects?: boolean\n}\n\ntype DehydratedRouterQueryState = {\n dehydratedQueryClient?: QueryDehydratedState\n queryStream: ReadableStream<QueryDehydratedState>\n}\n\nexport function setupCoreRouterSsrQueryIntegration<TRouter extends AnyRouter>({\n router,\n queryClient,\n handleRedirects = true,\n}: RouterSsrQueryOptions<TRouter>) {\n const ogHydrate = router.options.hydrate\n const ogDehydrate = router.options.dehydrate\n\n if (router.isServer) {\n const sentQueries = new Set<string>()\n const queryStream = createPushableStream()\n\n router.options.dehydrate =\n async (): Promise<DehydratedRouterQueryState> => {\n router.serverSsr!.onRenderFinished(() => queryStream.close())\n const ogDehydrated = await ogDehydrate?.()\n\n const dehydratedRouter = {\n ...ogDehydrated,\n // prepare the stream for queries coming up during rendering\n queryStream: queryStream.stream,\n }\n\n const dehydratedQueryClient = queryDehydrate(queryClient)\n if (dehydratedQueryClient.queries.length > 0) {\n dehydratedQueryClient.queries.forEach((query) => {\n sentQueries.add(query.queryHash)\n })\n dehydratedRouter.dehydratedQueryClient = dehydratedQueryClient\n }\n\n return dehydratedRouter\n }\n\n const ogClientOptions = queryClient.getDefaultOptions()\n queryClient.setDefaultOptions({\n ...ogClientOptions,\n dehydrate: {\n shouldDehydrateQuery: () => true,\n ...ogClientOptions.dehydrate,\n },\n })\n\n queryClient.getQueryCache().subscribe((event) => {\n // before rendering starts, we do not stream individual queries\n // instead we dehydrate the entire query client in router's dehydrate()\n // if attachRouterServerSsrUtils() has not been called yet, `router.serverSsr` will be undefined and we also do not stream\n if (!router.serverSsr?.isDehydrated()) {\n return\n }\n if (sentQueries.has(event.query.queryHash)) {\n return\n }\n if (queryStream.isClosed()) {\n console.warn(\n `tried to stream query ${event.query.queryHash} after stream was already closed`,\n )\n return\n }\n // promise not yet set on the query, so we cannot stream it yet\n if (!event.query.promise) {\n return\n }\n sentQueries.add(event.query.queryHash)\n queryStream.enqueue(\n queryDehydrate(queryClient, {\n shouldDehydrateQuery: (query) => {\n if (query.queryHash === event.query.queryHash) {\n return (\n ogClientOptions.dehydrate?.shouldDehydrateQuery?.(query) ?? true\n )\n }\n return false\n },\n }),\n )\n })\n // on the client\n } else {\n router.options.hydrate = async (dehydrated: DehydratedRouterQueryState) => {\n await ogHydrate?.(dehydrated)\n // hydrate the query client with the dehydrated data (if it was dehydrated on the server)\n if (dehydrated.dehydratedQueryClient) {\n queryHydrate(queryClient, dehydrated.dehydratedQueryClient)\n }\n\n // read the query stream and hydrate the queries as they come in\n const reader = dehydrated.queryStream.getReader()\n reader\n .read()\n .then(async function handle({ done, value }) {\n queryHydrate(queryClient, value)\n if (done) {\n return\n }\n const result = await reader.read()\n return handle(result)\n })\n .catch((err) => {\n console.error('Error reading query stream:', err)\n })\n }\n if (handleRedirects) {\n const ogMutationCacheConfig = queryClient.getMutationCache().config\n queryClient.getMutationCache().config = {\n ...ogMutationCacheConfig,\n onError: (error, _variables, _context, _mutation) => {\n if (isRedirect(error)) {\n error.options._fromLocation = router.state.location\n return router.navigate(router.resolveRedirect(error).options)\n }\n\n return ogMutationCacheConfig.onError?.(\n error,\n _variables,\n _context,\n _mutation,\n )\n },\n }\n\n const ogQueryCacheConfig = queryClient.getQueryCache().config\n queryClient.getQueryCache().config = {\n ...ogQueryCacheConfig,\n onError: (error, _query) => {\n if (isRedirect(error)) {\n error.options._fromLocation = router.state.location\n return router.navigate(router.resolveRedirect(error).options)\n }\n\n return ogQueryCacheConfig.onError?.(error, _query)\n },\n }\n }\n }\n}\n\ntype PushableStream = {\n stream: ReadableStream\n enqueue: (chunk: unknown) => void\n close: () => void\n isClosed: () => boolean\n error: (err: unknown) => void\n}\n\nfunction createPushableStream(): PushableStream {\n let controllerRef: ReadableStreamDefaultController\n const stream = new ReadableStream({\n start(controller) {\n controllerRef = controller\n },\n })\n let _isClosed = false\n\n return {\n stream,\n enqueue: (chunk) => controllerRef.enqueue(chunk),\n close: () => {\n controllerRef.close()\n _isClosed = true\n },\n isClosed: () => _isClosed,\n error: (err: unknown) => controllerRef.error(err),\n }\n}\n"],"names":["queryDehydrate","queryHydrate","isRedirect"],"mappings":"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"}
package/dist/esm/index.js CHANGED
@@ -12,7 +12,7 @@ function setupCoreRouterSsrQueryIntegration({
12
12
  const queryStream = createPushableStream();
13
13
  router.options.dehydrate = async () => {
14
14
  router.serverSsr.onRenderFinished(() => queryStream.close());
15
- const ogDehydrated = await (ogDehydrate == null ? void 0 : ogDehydrate());
15
+ const ogDehydrated = await ogDehydrate?.();
16
16
  const dehydratedRouter = {
17
17
  ...ogDehydrated,
18
18
  // prepare the stream for queries coming up during rendering
@@ -36,8 +36,7 @@ function setupCoreRouterSsrQueryIntegration({
36
36
  }
37
37
  });
38
38
  queryClient.getQueryCache().subscribe((event) => {
39
- var _a;
40
- if (!((_a = router.serverSsr) == null ? void 0 : _a.isDehydrated())) {
39
+ if (!router.serverSsr?.isDehydrated()) {
41
40
  return;
42
41
  }
43
42
  if (sentQueries.has(event.query.queryHash)) {
@@ -56,9 +55,8 @@ function setupCoreRouterSsrQueryIntegration({
56
55
  queryStream.enqueue(
57
56
  dehydrate(queryClient, {
58
57
  shouldDehydrateQuery: (query) => {
59
- var _a2, _b;
60
58
  if (query.queryHash === event.query.queryHash) {
61
- return ((_b = (_a2 = ogClientOptions.dehydrate) == null ? void 0 : _a2.shouldDehydrateQuery) == null ? void 0 : _b.call(_a2, query)) ?? true;
59
+ return ogClientOptions.dehydrate?.shouldDehydrateQuery?.(query) ?? true;
62
60
  }
63
61
  return false;
64
62
  }
@@ -67,7 +65,7 @@ function setupCoreRouterSsrQueryIntegration({
67
65
  });
68
66
  } else {
69
67
  router.options.hydrate = async (dehydrated) => {
70
- await (ogHydrate == null ? void 0 : ogHydrate(dehydrated));
68
+ await ogHydrate?.(dehydrated);
71
69
  if (dehydrated.dehydratedQueryClient) {
72
70
  hydrate(queryClient, dehydrated.dehydratedQueryClient);
73
71
  }
@@ -88,13 +86,11 @@ function setupCoreRouterSsrQueryIntegration({
88
86
  queryClient.getMutationCache().config = {
89
87
  ...ogMutationCacheConfig,
90
88
  onError: (error, _variables, _context, _mutation) => {
91
- var _a;
92
89
  if (isRedirect(error)) {
93
90
  error.options._fromLocation = router.state.location;
94
91
  return router.navigate(router.resolveRedirect(error).options);
95
92
  }
96
- return (_a = ogMutationCacheConfig.onError) == null ? void 0 : _a.call(
97
- ogMutationCacheConfig,
93
+ return ogMutationCacheConfig.onError?.(
98
94
  error,
99
95
  _variables,
100
96
  _context,
@@ -106,12 +102,11 @@ function setupCoreRouterSsrQueryIntegration({
106
102
  queryClient.getQueryCache().config = {
107
103
  ...ogQueryCacheConfig,
108
104
  onError: (error, _query) => {
109
- var _a;
110
105
  if (isRedirect(error)) {
111
106
  error.options._fromLocation = router.state.location;
112
107
  return router.navigate(router.resolveRedirect(error).options);
113
108
  }
114
- return (_a = ogQueryCacheConfig.onError) == null ? void 0 : _a.call(ogQueryCacheConfig, error, _query);
109
+ return ogQueryCacheConfig.onError?.(error, _query);
115
110
  }
116
111
  };
117
112
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/index.ts"],"sourcesContent":["import {\n dehydrate as queryDehydrate,\n hydrate as queryHydrate,\n} from '@tanstack/query-core'\nimport { isRedirect } from '@tanstack/router-core'\nimport type { AnyRouter } from '@tanstack/router-core'\nimport type {\n QueryClient,\n DehydratedState as QueryDehydratedState,\n} from '@tanstack/query-core'\n\nexport type RouterSsrQueryOptions<TRouter extends AnyRouter> = {\n router: TRouter\n queryClient: QueryClient\n\n /**\n * If `true`, the QueryClient will handle errors thrown by `redirect()` inside of mutations and queries.\n *\n * @default true\n * @link [Guide](https://tanstack.com/router/latest/docs/framework/react/api/router/redirectFunction)\n */\n handleRedirects?: boolean\n}\n\ntype DehydratedRouterQueryState = {\n dehydratedQueryClient?: QueryDehydratedState\n queryStream: ReadableStream<QueryDehydratedState>\n}\n\nexport function setupCoreRouterSsrQueryIntegration<TRouter extends AnyRouter>({\n router,\n queryClient,\n handleRedirects = true,\n}: RouterSsrQueryOptions<TRouter>) {\n const ogHydrate = router.options.hydrate\n const ogDehydrate = router.options.dehydrate\n\n if (router.isServer) {\n const sentQueries = new Set<string>()\n const queryStream = createPushableStream()\n\n router.options.dehydrate =\n async (): Promise<DehydratedRouterQueryState> => {\n router.serverSsr!.onRenderFinished(() => queryStream.close())\n const ogDehydrated = await ogDehydrate?.()\n\n const dehydratedRouter = {\n ...ogDehydrated,\n // prepare the stream for queries coming up during rendering\n queryStream: queryStream.stream,\n }\n\n const dehydratedQueryClient = queryDehydrate(queryClient)\n if (dehydratedQueryClient.queries.length > 0) {\n dehydratedQueryClient.queries.forEach((query) => {\n sentQueries.add(query.queryHash)\n })\n dehydratedRouter.dehydratedQueryClient = dehydratedQueryClient\n }\n\n return dehydratedRouter\n }\n\n const ogClientOptions = queryClient.getDefaultOptions()\n queryClient.setDefaultOptions({\n ...ogClientOptions,\n dehydrate: {\n shouldDehydrateQuery: () => true,\n ...ogClientOptions.dehydrate,\n },\n })\n\n queryClient.getQueryCache().subscribe((event) => {\n // before rendering starts, we do not stream individual queries\n // instead we dehydrate the entire query client in router's dehydrate()\n // if attachRouterServerSsrUtils() has not been called yet, `router.serverSsr` will be undefined and we also do not stream\n if (!router.serverSsr?.isDehydrated()) {\n return\n }\n if (sentQueries.has(event.query.queryHash)) {\n return\n }\n if (queryStream.isClosed()) {\n console.warn(\n `tried to stream query ${event.query.queryHash} after stream was already closed`,\n )\n return\n }\n // promise not yet set on the query, so we cannot stream it yet\n if (!event.query.promise) {\n return\n }\n sentQueries.add(event.query.queryHash)\n queryStream.enqueue(\n queryDehydrate(queryClient, {\n shouldDehydrateQuery: (query) => {\n if (query.queryHash === event.query.queryHash) {\n return (\n ogClientOptions.dehydrate?.shouldDehydrateQuery?.(query) ?? true\n )\n }\n return false\n },\n }),\n )\n })\n // on the client\n } else {\n router.options.hydrate = async (dehydrated: DehydratedRouterQueryState) => {\n await ogHydrate?.(dehydrated)\n // hydrate the query client with the dehydrated data (if it was dehydrated on the server)\n if (dehydrated.dehydratedQueryClient) {\n queryHydrate(queryClient, dehydrated.dehydratedQueryClient)\n }\n\n // read the query stream and hydrate the queries as they come in\n const reader = dehydrated.queryStream.getReader()\n reader\n .read()\n .then(async function handle({ done, value }) {\n queryHydrate(queryClient, value)\n if (done) {\n return\n }\n const result = await reader.read()\n return handle(result)\n })\n .catch((err) => {\n console.error('Error reading query stream:', err)\n })\n }\n if (handleRedirects) {\n const ogMutationCacheConfig = queryClient.getMutationCache().config\n queryClient.getMutationCache().config = {\n ...ogMutationCacheConfig,\n onError: (error, _variables, _context, _mutation) => {\n if (isRedirect(error)) {\n error.options._fromLocation = router.state.location\n return router.navigate(router.resolveRedirect(error).options)\n }\n\n return ogMutationCacheConfig.onError?.(\n error,\n _variables,\n _context,\n _mutation,\n )\n },\n }\n\n const ogQueryCacheConfig = queryClient.getQueryCache().config\n queryClient.getQueryCache().config = {\n ...ogQueryCacheConfig,\n onError: (error, _query) => {\n if (isRedirect(error)) {\n error.options._fromLocation = router.state.location\n return router.navigate(router.resolveRedirect(error).options)\n }\n\n return ogQueryCacheConfig.onError?.(error, _query)\n },\n }\n }\n }\n}\n\ntype PushableStream = {\n stream: ReadableStream\n enqueue: (chunk: unknown) => void\n close: () => void\n isClosed: () => boolean\n error: (err: unknown) => void\n}\n\nfunction createPushableStream(): PushableStream {\n let controllerRef: ReadableStreamDefaultController\n const stream = new ReadableStream({\n start(controller) {\n controllerRef = controller\n },\n })\n let _isClosed = false\n\n return {\n stream,\n enqueue: (chunk) => controllerRef.enqueue(chunk),\n close: () => {\n controllerRef.close()\n _isClosed = true\n },\n isClosed: () => _isClosed,\n error: (err: unknown) => controllerRef.error(err),\n }\n}\n"],"names":["queryDehydrate","_a","queryHydrate"],"mappings":";;AA6BO,SAAS,mCAA8D;AAAA,EAC5E;AAAA,EACA;AAAA,EACA,kBAAkB;AACpB,GAAmC;AAC3B,QAAA,YAAY,OAAO,QAAQ;AAC3B,QAAA,cAAc,OAAO,QAAQ;AAEnC,MAAI,OAAO,UAAU;AACb,UAAA,kCAAkB,IAAY;AACpC,UAAM,cAAc,qBAAqB;AAElC,WAAA,QAAQ,YACb,YAAiD;AAC/C,aAAO,UAAW,iBAAiB,MAAM,YAAY,OAAO;AACtD,YAAA,eAAe,OAAM;AAE3B,YAAM,mBAAmB;AAAA,QACvB,GAAG;AAAA;AAAA,QAEH,aAAa,YAAY;AAAA,MAC3B;AAEM,YAAA,wBAAwBA,UAAe,WAAW;AACpD,UAAA,sBAAsB,QAAQ,SAAS,GAAG;AACtB,8BAAA,QAAQ,QAAQ,CAAC,UAAU;AACnC,sBAAA,IAAI,MAAM,SAAS;AAAA,QAAA,CAChC;AACD,yBAAiB,wBAAwB;AAAA,MAAA;AAGpC,aAAA;AAAA,IACT;AAEI,UAAA,kBAAkB,YAAY,kBAAkB;AACtD,gBAAY,kBAAkB;AAAA,MAC5B,GAAG;AAAA,MACH,WAAW;AAAA,QACT,sBAAsB,MAAM;AAAA,QAC5B,GAAG,gBAAgB;AAAA,MAAA;AAAA,IACrB,CACD;AAED,gBAAY,cAAc,EAAE,UAAU,CAAC,UAAU;;AAI/C,UAAI,GAAC,YAAO,cAAP,mBAAkB,iBAAgB;AACrC;AAAA,MAAA;AAEF,UAAI,YAAY,IAAI,MAAM,MAAM,SAAS,GAAG;AAC1C;AAAA,MAAA;AAEE,UAAA,YAAY,YAAY;AAClB,gBAAA;AAAA,UACN,yBAAyB,MAAM,MAAM,SAAS;AAAA,QAChD;AACA;AAAA,MAAA;AAGE,UAAA,CAAC,MAAM,MAAM,SAAS;AACxB;AAAA,MAAA;AAEU,kBAAA,IAAI,MAAM,MAAM,SAAS;AACzB,kBAAA;AAAA,QACVA,UAAe,aAAa;AAAA,UAC1B,sBAAsB,CAAC,UAAU;;AAC/B,gBAAI,MAAM,cAAc,MAAM,MAAM,WAAW;AAC7C,uBACE,MAAAC,MAAA,gBAAgB,cAAhB,gBAAAA,IAA2B,yBAA3B,wBAAAA,KAAkD,WAAU;AAAA,YAAA;AAGzD,mBAAA;AAAA,UAAA;AAAA,QAEV,CAAA;AAAA,MACH;AAAA,IAAA,CACD;AAAA,EAAA,OAEI;AACE,WAAA,QAAQ,UAAU,OAAO,eAA2C;AACzE,aAAM,uCAAY;AAElB,UAAI,WAAW,uBAAuB;AACvBC,gBAAA,aAAa,WAAW,qBAAqB;AAAA,MAAA;AAItD,YAAA,SAAS,WAAW,YAAY,UAAU;AAE7C,aAAA,KAAA,EACA,KAAK,eAAe,OAAO,EAAE,MAAM,SAAS;AAC3CA,gBAAa,aAAa,KAAK;AAC/B,YAAI,MAAM;AACR;AAAA,QAAA;AAEI,cAAA,SAAS,MAAM,OAAO,KAAK;AACjC,eAAO,OAAO,MAAM;AAAA,MAAA,CACrB,EACA,MAAM,CAAC,QAAQ;AACN,gBAAA,MAAM,+BAA+B,GAAG;AAAA,MAAA,CACjD;AAAA,IACL;AACA,QAAI,iBAAiB;AACb,YAAA,wBAAwB,YAAY,iBAAA,EAAmB;AACjD,kBAAA,mBAAmB,SAAS;AAAA,QACtC,GAAG;AAAA,QACH,SAAS,CAAC,OAAO,YAAY,UAAU,cAAc;;AAC/C,cAAA,WAAW,KAAK,GAAG;AACf,kBAAA,QAAQ,gBAAgB,OAAO,MAAM;AAC3C,mBAAO,OAAO,SAAS,OAAO,gBAAgB,KAAK,EAAE,OAAO;AAAA,UAAA;AAG9D,kBAAO,2BAAsB,YAAtB;AAAA;AAAA,YACL;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA;AAAA,QACF;AAAA,MAEJ;AAEM,YAAA,qBAAqB,YAAY,cAAA,EAAgB;AAC3C,kBAAA,gBAAgB,SAAS;AAAA,QACnC,GAAG;AAAA,QACH,SAAS,CAAC,OAAO,WAAW;;AACtB,cAAA,WAAW,KAAK,GAAG;AACf,kBAAA,QAAQ,gBAAgB,OAAO,MAAM;AAC3C,mBAAO,OAAO,SAAS,OAAO,gBAAgB,KAAK,EAAE,OAAO;AAAA,UAAA;AAGvD,kBAAA,wBAAmB,YAAnB,4CAA6B,OAAO;AAAA,QAAM;AAAA,MAErD;AAAA,IAAA;AAAA,EACF;AAEJ;AAUA,SAAS,uBAAuC;AAC1C,MAAA;AACE,QAAA,SAAS,IAAI,eAAe;AAAA,IAChC,MAAM,YAAY;AACA,sBAAA;AAAA,IAAA;AAAA,EAClB,CACD;AACD,MAAI,YAAY;AAET,SAAA;AAAA,IACL;AAAA,IACA,SAAS,CAAC,UAAU,cAAc,QAAQ,KAAK;AAAA,IAC/C,OAAO,MAAM;AACX,oBAAc,MAAM;AACR,kBAAA;AAAA,IACd;AAAA,IACA,UAAU,MAAM;AAAA,IAChB,OAAO,CAAC,QAAiB,cAAc,MAAM,GAAG;AAAA,EAClD;AACF;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/index.ts"],"sourcesContent":["import {\n dehydrate as queryDehydrate,\n hydrate as queryHydrate,\n} from '@tanstack/query-core'\nimport { isRedirect } from '@tanstack/router-core'\nimport type { AnyRouter } from '@tanstack/router-core'\nimport type {\n QueryClient,\n DehydratedState as QueryDehydratedState,\n} from '@tanstack/query-core'\n\nexport type RouterSsrQueryOptions<TRouter extends AnyRouter> = {\n router: TRouter\n queryClient: QueryClient\n\n /**\n * If `true`, the QueryClient will handle errors thrown by `redirect()` inside of mutations and queries.\n *\n * @default true\n * @link [Guide](https://tanstack.com/router/latest/docs/framework/react/api/router/redirectFunction)\n */\n handleRedirects?: boolean\n}\n\ntype DehydratedRouterQueryState = {\n dehydratedQueryClient?: QueryDehydratedState\n queryStream: ReadableStream<QueryDehydratedState>\n}\n\nexport function setupCoreRouterSsrQueryIntegration<TRouter extends AnyRouter>({\n router,\n queryClient,\n handleRedirects = true,\n}: RouterSsrQueryOptions<TRouter>) {\n const ogHydrate = router.options.hydrate\n const ogDehydrate = router.options.dehydrate\n\n if (router.isServer) {\n const sentQueries = new Set<string>()\n const queryStream = createPushableStream()\n\n router.options.dehydrate =\n async (): Promise<DehydratedRouterQueryState> => {\n router.serverSsr!.onRenderFinished(() => queryStream.close())\n const ogDehydrated = await ogDehydrate?.()\n\n const dehydratedRouter = {\n ...ogDehydrated,\n // prepare the stream for queries coming up during rendering\n queryStream: queryStream.stream,\n }\n\n const dehydratedQueryClient = queryDehydrate(queryClient)\n if (dehydratedQueryClient.queries.length > 0) {\n dehydratedQueryClient.queries.forEach((query) => {\n sentQueries.add(query.queryHash)\n })\n dehydratedRouter.dehydratedQueryClient = dehydratedQueryClient\n }\n\n return dehydratedRouter\n }\n\n const ogClientOptions = queryClient.getDefaultOptions()\n queryClient.setDefaultOptions({\n ...ogClientOptions,\n dehydrate: {\n shouldDehydrateQuery: () => true,\n ...ogClientOptions.dehydrate,\n },\n })\n\n queryClient.getQueryCache().subscribe((event) => {\n // before rendering starts, we do not stream individual queries\n // instead we dehydrate the entire query client in router's dehydrate()\n // if attachRouterServerSsrUtils() has not been called yet, `router.serverSsr` will be undefined and we also do not stream\n if (!router.serverSsr?.isDehydrated()) {\n return\n }\n if (sentQueries.has(event.query.queryHash)) {\n return\n }\n if (queryStream.isClosed()) {\n console.warn(\n `tried to stream query ${event.query.queryHash} after stream was already closed`,\n )\n return\n }\n // promise not yet set on the query, so we cannot stream it yet\n if (!event.query.promise) {\n return\n }\n sentQueries.add(event.query.queryHash)\n queryStream.enqueue(\n queryDehydrate(queryClient, {\n shouldDehydrateQuery: (query) => {\n if (query.queryHash === event.query.queryHash) {\n return (\n ogClientOptions.dehydrate?.shouldDehydrateQuery?.(query) ?? true\n )\n }\n return false\n },\n }),\n )\n })\n // on the client\n } else {\n router.options.hydrate = async (dehydrated: DehydratedRouterQueryState) => {\n await ogHydrate?.(dehydrated)\n // hydrate the query client with the dehydrated data (if it was dehydrated on the server)\n if (dehydrated.dehydratedQueryClient) {\n queryHydrate(queryClient, dehydrated.dehydratedQueryClient)\n }\n\n // read the query stream and hydrate the queries as they come in\n const reader = dehydrated.queryStream.getReader()\n reader\n .read()\n .then(async function handle({ done, value }) {\n queryHydrate(queryClient, value)\n if (done) {\n return\n }\n const result = await reader.read()\n return handle(result)\n })\n .catch((err) => {\n console.error('Error reading query stream:', err)\n })\n }\n if (handleRedirects) {\n const ogMutationCacheConfig = queryClient.getMutationCache().config\n queryClient.getMutationCache().config = {\n ...ogMutationCacheConfig,\n onError: (error, _variables, _context, _mutation) => {\n if (isRedirect(error)) {\n error.options._fromLocation = router.state.location\n return router.navigate(router.resolveRedirect(error).options)\n }\n\n return ogMutationCacheConfig.onError?.(\n error,\n _variables,\n _context,\n _mutation,\n )\n },\n }\n\n const ogQueryCacheConfig = queryClient.getQueryCache().config\n queryClient.getQueryCache().config = {\n ...ogQueryCacheConfig,\n onError: (error, _query) => {\n if (isRedirect(error)) {\n error.options._fromLocation = router.state.location\n return router.navigate(router.resolveRedirect(error).options)\n }\n\n return ogQueryCacheConfig.onError?.(error, _query)\n },\n }\n }\n }\n}\n\ntype PushableStream = {\n stream: ReadableStream\n enqueue: (chunk: unknown) => void\n close: () => void\n isClosed: () => boolean\n error: (err: unknown) => void\n}\n\nfunction createPushableStream(): PushableStream {\n let controllerRef: ReadableStreamDefaultController\n const stream = new ReadableStream({\n start(controller) {\n controllerRef = controller\n },\n })\n let _isClosed = false\n\n return {\n stream,\n enqueue: (chunk) => controllerRef.enqueue(chunk),\n close: () => {\n controllerRef.close()\n _isClosed = true\n },\n isClosed: () => _isClosed,\n error: (err: unknown) => controllerRef.error(err),\n }\n}\n"],"names":["queryDehydrate","queryHydrate"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tanstack/router-ssr-query-core",
3
- "version": "1.131.7",
3
+ "version": "1.132.0-alpha.0",
4
4
  "description": "Modern and scalable routing for React applications",
5
5
  "author": "Tanner Linsley",
6
6
  "license": "MIT",