@stryke/trpc-next 0.5.48 → 0.5.49
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/CHANGELOG.md +8 -0
- package/dist/_virtual/rolldown_runtime.cjs +29 -1
- package/dist/action-handler.cjs +20 -1
- package/dist/action-handler.mjs +18 -1
- package/dist/action-handler.mjs.map +1 -1
- package/dist/client.cjs +39 -1
- package/dist/client.mjs +37 -1
- package/dist/client.mjs.map +1 -1
- package/dist/env/src/ci-checks.cjs +13 -1
- package/dist/env/src/ci-checks.mjs +12 -1
- package/dist/env/src/ci-checks.mjs.map +1 -1
- package/dist/env/src/environment-checks.cjs +87 -1
- package/dist/env/src/environment-checks.mjs +87 -1
- package/dist/env/src/environment-checks.mjs.map +1 -1
- package/dist/index.cjs +30 -1
- package/dist/index.mjs +8 -1
- package/dist/path/src/is-type.cjs +28 -1
- package/dist/path/src/is-type.mjs +28 -1
- package/dist/path/src/is-type.mjs.map +1 -1
- package/dist/path/src/join-paths.cjs +106 -1
- package/dist/path/src/join-paths.mjs +106 -1
- package/dist/path/src/join-paths.mjs.map +1 -1
- package/dist/path/src/regex.cjs +12 -1
- package/dist/path/src/regex.mjs +8 -1
- package/dist/path/src/regex.mjs.map +1 -1
- package/dist/path/src/slash.cjs +15 -1
- package/dist/path/src/slash.mjs +14 -1
- package/dist/path/src/slash.mjs.map +1 -1
- package/dist/server.cjs +46 -1
- package/dist/server.mjs +33 -1
- package/dist/server.mjs.map +1 -1
- package/dist/shared.cjs +43 -1
- package/dist/shared.mjs +38 -1
- package/dist/shared.mjs.map +1 -1
- package/dist/shield/constructors.cjs +86 -1
- package/dist/shield/constructors.mjs +79 -1
- package/dist/shield/constructors.mjs.map +1 -1
- package/dist/shield/generator.cjs +28 -1
- package/dist/shield/generator.mjs +27 -1
- package/dist/shield/generator.mjs.map +1 -1
- package/dist/shield/index.cjs +12 -1
- package/dist/shield/index.mjs +4 -1
- package/dist/shield/rules.cjs +200 -1
- package/dist/shield/rules.mjs +191 -1
- package/dist/shield/rules.mjs.map +1 -1
- package/dist/shield/shield.cjs +31 -1
- package/dist/shield/shield.mjs +31 -1
- package/dist/shield/shield.mjs.map +1 -1
- package/dist/shield/utils.cjs +56 -1
- package/dist/shield/utils.mjs +51 -1
- package/dist/shield/utils.mjs.map +1 -1
- package/dist/shield/validation.cjs +59 -1
- package/dist/shield/validation.mjs +58 -1
- package/dist/shield/validation.mjs.map +1 -1
- package/dist/tanstack-query/client.cjs +42 -1
- package/dist/tanstack-query/client.mjs +41 -1
- package/dist/tanstack-query/client.mjs.map +1 -1
- package/dist/tanstack-query/server.cjs +54 -1
- package/dist/tanstack-query/server.mjs +51 -1
- package/dist/tanstack-query/server.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1,42 @@
|
|
|
1
|
-
"use client";
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
|
|
4
|
+
const require_shared = require('../shared.cjs');
|
|
5
|
+
const require_environment_checks = require('../env/src/environment-checks.cjs');
|
|
6
|
+
let __trpc_client = require("@trpc/client");
|
|
7
|
+
let __tanstack_react_query = require("@tanstack/react-query");
|
|
8
|
+
let __trpc_tanstack_react_query = require("@trpc/tanstack-react-query");
|
|
9
|
+
let react = require("react");
|
|
10
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
11
|
+
|
|
12
|
+
//#region src/tanstack-query/client.tsx
|
|
13
|
+
/**
|
|
14
|
+
* Create a TRPC Tanstack Query client.
|
|
15
|
+
*
|
|
16
|
+
* @returns The TRPC Tanstack Query client
|
|
17
|
+
*/
|
|
18
|
+
function createTRPCTanstackQueryClient(baseUrl, queryClient) {
|
|
19
|
+
const { TRPCProvider, useTRPC } = (0, __trpc_tanstack_react_query.createTRPCContext)();
|
|
20
|
+
return {
|
|
21
|
+
useTRPCTanstackQuery: useTRPC,
|
|
22
|
+
TRPCTanstackQueryProvider: (props) => {
|
|
23
|
+
const { children } = props;
|
|
24
|
+
const [trpcClient] = (0, react.useState)(() => (0, __trpc_client.createTRPCClient)({ links: [(0, __trpc_client.loggerLink)({ enabled: (op) => require_environment_checks.isDevelopment || op.direction === "down" && op.result instanceof Error }), (0, __trpc_client.httpBatchStreamLink)({
|
|
25
|
+
transformer: require_shared.transformer,
|
|
26
|
+
url: require_shared.getTRPCServerUrl(baseUrl),
|
|
27
|
+
headers: { "x-trpc-source": "react-query" }
|
|
28
|
+
})] }));
|
|
29
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TRPCProvider, {
|
|
30
|
+
trpcClient,
|
|
31
|
+
queryClient,
|
|
32
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__tanstack_react_query.QueryClientProvider, {
|
|
33
|
+
client: queryClient,
|
|
34
|
+
children
|
|
35
|
+
})
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
//#endregion
|
|
42
|
+
exports.createTRPCTanstackQueryClient = createTRPCTanstackQueryClient;
|
|
@@ -1,2 +1,42 @@
|
|
|
1
|
-
"use client";
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { getTRPCServerUrl, transformer } from "../shared.mjs";
|
|
4
|
+
import { isDevelopment } from "../env/src/environment-checks.mjs";
|
|
5
|
+
import { createTRPCClient, httpBatchStreamLink, loggerLink } from "@trpc/client";
|
|
6
|
+
import { QueryClientProvider } from "@tanstack/react-query";
|
|
7
|
+
import { createTRPCContext } from "@trpc/tanstack-react-query";
|
|
8
|
+
import { useState } from "react";
|
|
9
|
+
import { jsx } from "react/jsx-runtime";
|
|
10
|
+
|
|
11
|
+
//#region src/tanstack-query/client.tsx
|
|
12
|
+
/**
|
|
13
|
+
* Create a TRPC Tanstack Query client.
|
|
14
|
+
*
|
|
15
|
+
* @returns The TRPC Tanstack Query client
|
|
16
|
+
*/
|
|
17
|
+
function createTRPCTanstackQueryClient(baseUrl, queryClient) {
|
|
18
|
+
const { TRPCProvider, useTRPC } = createTRPCContext();
|
|
19
|
+
return {
|
|
20
|
+
useTRPCTanstackQuery: useTRPC,
|
|
21
|
+
TRPCTanstackQueryProvider: (props) => {
|
|
22
|
+
const { children } = props;
|
|
23
|
+
const [trpcClient] = useState(() => createTRPCClient({ links: [loggerLink({ enabled: (op) => isDevelopment || op.direction === "down" && op.result instanceof Error }), httpBatchStreamLink({
|
|
24
|
+
transformer,
|
|
25
|
+
url: getTRPCServerUrl(baseUrl),
|
|
26
|
+
headers: { "x-trpc-source": "react-query" }
|
|
27
|
+
})] }));
|
|
28
|
+
return /* @__PURE__ */ jsx(TRPCProvider, {
|
|
29
|
+
trpcClient,
|
|
30
|
+
queryClient,
|
|
31
|
+
children: /* @__PURE__ */ jsx(QueryClientProvider, {
|
|
32
|
+
client: queryClient,
|
|
33
|
+
children
|
|
34
|
+
})
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
//#endregion
|
|
41
|
+
export { createTRPCTanstackQueryClient };
|
|
2
42
|
//# sourceMappingURL=client.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.mjs","names":[],"sources":["../../src/tanstack-query/client.tsx"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Stryke\n\n This code was released as part of the Stryke project. Stryke\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/stryke.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/stryke\n Documentation: https://docs.stormsoftware.com/projects/stryke\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\n\"use client\";\n\nimport { isDevelopment } from \"@stryke/env/environment-checks\";\nimport type { StormURLInterface } from \"@stryke/url/types\";\nimport type { QueryClient } from \"@tanstack/react-query\";\nimport { QueryClientProvider } from \"@tanstack/react-query\";\nimport {\n createTRPCClient,\n httpBatchStreamLink,\n loggerLink\n} from \"@trpc/client\";\nimport type { AnyTRPCRouter } from \"@trpc/server\";\nimport { createTRPCContext } from \"@trpc/tanstack-react-query\";\nimport { useState } from \"react\";\nimport { getTRPCServerUrl, transformer } from \"../shared\";\n\n/**\n * Create a TRPC Tanstack Query client.\n *\n * @returns The TRPC Tanstack Query client\n */\nexport function createTRPCTanstackQueryClient<TRouter extends AnyTRPCRouter>(\n baseUrl: string | StormURLInterface,\n queryClient: QueryClient\n) {\n const { TRPCProvider, useTRPC } = createTRPCContext<TRouter>();\n\n return {\n useTRPCTanstackQuery: useTRPC,\n TRPCTanstackQueryProvider: (props: { children: React.ReactNode }) => {\n const { children } = props;\n\n const [trpcClient] = useState(() =>\n createTRPCClient<TRouter>({\n links: [\n loggerLink({\n enabled: op =>\n isDevelopment ||\n (op.direction === \"down\" && op.result instanceof Error)\n }),\n httpBatchStreamLink<TRouter>({\n transformer,\n url: getTRPCServerUrl(baseUrl),\n headers: { \"x-trpc-source\": \"react-query\" }\n } as TRouter[\"_def\"][\"_config\"][\"$types\"])\n ]\n })\n );\n\n return (\n <TRPCProvider trpcClient={trpcClient} queryClient={queryClient}>\n <QueryClientProvider client={queryClient}>\n {children}\n </QueryClientProvider>\n </TRPCProvider>\n );\n }\n };\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.mjs","names":[],"sources":["../../src/tanstack-query/client.tsx"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Stryke\n\n This code was released as part of the Stryke project. Stryke\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/stryke.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/stryke\n Documentation: https://docs.stormsoftware.com/projects/stryke\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\n\"use client\";\n\nimport { isDevelopment } from \"@stryke/env/environment-checks\";\nimport type { StormURLInterface } from \"@stryke/url/types\";\nimport type { QueryClient } from \"@tanstack/react-query\";\nimport { QueryClientProvider } from \"@tanstack/react-query\";\nimport {\n createTRPCClient,\n httpBatchStreamLink,\n loggerLink\n} from \"@trpc/client\";\nimport type { AnyTRPCRouter } from \"@trpc/server\";\nimport { createTRPCContext } from \"@trpc/tanstack-react-query\";\nimport { useState } from \"react\";\nimport { getTRPCServerUrl, transformer } from \"../shared\";\n\n/**\n * Create a TRPC Tanstack Query client.\n *\n * @returns The TRPC Tanstack Query client\n */\nexport function createTRPCTanstackQueryClient<TRouter extends AnyTRPCRouter>(\n baseUrl: string | StormURLInterface,\n queryClient: QueryClient\n) {\n const { TRPCProvider, useTRPC } = createTRPCContext<TRouter>();\n\n return {\n useTRPCTanstackQuery: useTRPC,\n TRPCTanstackQueryProvider: (props: { children: React.ReactNode }) => {\n const { children } = props;\n\n const [trpcClient] = useState(() =>\n createTRPCClient<TRouter>({\n links: [\n loggerLink({\n enabled: op =>\n isDevelopment ||\n (op.direction === \"down\" && op.result instanceof Error)\n }),\n httpBatchStreamLink<TRouter>({\n transformer,\n url: getTRPCServerUrl(baseUrl),\n headers: { \"x-trpc-source\": \"react-query\" }\n } as TRouter[\"_def\"][\"_config\"][\"$types\"])\n ]\n })\n );\n\n return (\n <TRPCProvider trpcClient={trpcClient} queryClient={queryClient}>\n <QueryClientProvider client={queryClient}>\n {children}\n </QueryClientProvider>\n </TRPCProvider>\n );\n }\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAuCA,SAAgB,8BACd,SACA,aACA;CACA,MAAM,EAAE,cAAc,YAAY,mBAA4B;AAE9D,QAAO;EACL,sBAAsB;EACtB,4BAA4B,UAAyC;GACnE,MAAM,EAAE,aAAa;GAErB,MAAM,CAAC,cAAc,eACnB,iBAA0B,EACxB,OAAO,CACL,WAAW,EACT,UAAS,OACP,iBACC,GAAG,cAAc,UAAU,GAAG,kBAAkB,OACpD,CAAC,EACF,oBAA6B;IAC3B;IACA,KAAK,iBAAiB,QAAQ;IAC9B,SAAS,EAAE,iBAAiB,eAAe;IAC5C,CAAyC,CAC3C,EACF,CAAC,CACH;AAED,UACE,oBAAC;IAAyB;IAAyB;cACjD,oBAAC;KAAoB,QAAQ;KAC1B;MACmB;KACT;;EAGpB"}
|
|
@@ -1 +1,54 @@
|
|
|
1
|
-
const
|
|
1
|
+
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_shared = require('../shared.cjs');
|
|
3
|
+
let defu = require("defu");
|
|
4
|
+
defu = require_rolldown_runtime.__toESM(defu);
|
|
5
|
+
let __tanstack_react_query = require("@tanstack/react-query");
|
|
6
|
+
let __trpc_tanstack_react_query = require("@trpc/tanstack-react-query");
|
|
7
|
+
let react = require("react");
|
|
8
|
+
react = require_rolldown_runtime.__toESM(react);
|
|
9
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
10
|
+
require("server-only");
|
|
11
|
+
|
|
12
|
+
//#region src/tanstack-query/server.tsx
|
|
13
|
+
/**
|
|
14
|
+
* Create a TRPC Tanstack Query server.
|
|
15
|
+
*
|
|
16
|
+
* @param router - The TRPC router
|
|
17
|
+
* @param createContext - The context creator function
|
|
18
|
+
* @param queryClientConfig - The query client config
|
|
19
|
+
* @returns The TRPC Tanstack Query server
|
|
20
|
+
*/
|
|
21
|
+
function createTRPCTanstackQueryServer(headers, router, createContext = () => ({}), queryClientConfig = {}) {
|
|
22
|
+
const _createContext = (0, react.cache)(async () => {
|
|
23
|
+
const context = await Promise.resolve(createContext());
|
|
24
|
+
const _headers = new Headers(await headers());
|
|
25
|
+
_headers.set("x-trpc-source", "rsc");
|
|
26
|
+
return (0, defu.default)({ headers: Object.fromEntries(_headers) }, context);
|
|
27
|
+
});
|
|
28
|
+
/**
|
|
29
|
+
* Create a stable getter for the query client that
|
|
30
|
+
* will return the same client during the same request.
|
|
31
|
+
*/
|
|
32
|
+
const getQueryClient = (0, react.cache)(() => require_shared.createQueryClient(queryClientConfig));
|
|
33
|
+
return {
|
|
34
|
+
trpc: (0, __trpc_tanstack_react_query.createTRPCOptionsProxy)({
|
|
35
|
+
router,
|
|
36
|
+
queryClient: getQueryClient,
|
|
37
|
+
ctx: _createContext
|
|
38
|
+
}),
|
|
39
|
+
HydrateClient: (props) => {
|
|
40
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__tanstack_react_query.HydrationBoundary, {
|
|
41
|
+
state: (0, __tanstack_react_query.dehydrate)(getQueryClient()),
|
|
42
|
+
children: props.children
|
|
43
|
+
});
|
|
44
|
+
},
|
|
45
|
+
prefetch: (queryOptions) => {
|
|
46
|
+
const queryClient = getQueryClient();
|
|
47
|
+
if (queryOptions.queryKey[1]?.type === "infinite") queryClient.prefetchInfiniteQuery(queryOptions);
|
|
48
|
+
else queryClient.prefetchQuery(queryOptions);
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
//#endregion
|
|
54
|
+
exports.createTRPCTanstackQueryServer = createTRPCTanstackQueryServer;
|
|
@@ -1,2 +1,52 @@
|
|
|
1
|
-
import{createQueryClient
|
|
1
|
+
import { createQueryClient } from "../shared.mjs";
|
|
2
|
+
import defu from "defu";
|
|
3
|
+
import { HydrationBoundary, dehydrate } from "@tanstack/react-query";
|
|
4
|
+
import { createTRPCOptionsProxy } from "@trpc/tanstack-react-query";
|
|
5
|
+
import React, { cache } from "react";
|
|
6
|
+
import { jsx } from "react/jsx-runtime";
|
|
7
|
+
import "server-only";
|
|
8
|
+
|
|
9
|
+
//#region src/tanstack-query/server.tsx
|
|
10
|
+
/**
|
|
11
|
+
* Create a TRPC Tanstack Query server.
|
|
12
|
+
*
|
|
13
|
+
* @param router - The TRPC router
|
|
14
|
+
* @param createContext - The context creator function
|
|
15
|
+
* @param queryClientConfig - The query client config
|
|
16
|
+
* @returns The TRPC Tanstack Query server
|
|
17
|
+
*/
|
|
18
|
+
function createTRPCTanstackQueryServer(headers, router, createContext = () => ({}), queryClientConfig = {}) {
|
|
19
|
+
const _createContext = cache(async () => {
|
|
20
|
+
const context = await Promise.resolve(createContext());
|
|
21
|
+
const _headers = new Headers(await headers());
|
|
22
|
+
_headers.set("x-trpc-source", "rsc");
|
|
23
|
+
return defu({ headers: Object.fromEntries(_headers) }, context);
|
|
24
|
+
});
|
|
25
|
+
/**
|
|
26
|
+
* Create a stable getter for the query client that
|
|
27
|
+
* will return the same client during the same request.
|
|
28
|
+
*/
|
|
29
|
+
const getQueryClient = cache(() => createQueryClient(queryClientConfig));
|
|
30
|
+
return {
|
|
31
|
+
trpc: createTRPCOptionsProxy({
|
|
32
|
+
router,
|
|
33
|
+
queryClient: getQueryClient,
|
|
34
|
+
ctx: _createContext
|
|
35
|
+
}),
|
|
36
|
+
HydrateClient: (props) => {
|
|
37
|
+
return /* @__PURE__ */ jsx(HydrationBoundary, {
|
|
38
|
+
state: dehydrate(getQueryClient()),
|
|
39
|
+
children: props.children
|
|
40
|
+
});
|
|
41
|
+
},
|
|
42
|
+
prefetch: (queryOptions) => {
|
|
43
|
+
const queryClient = getQueryClient();
|
|
44
|
+
if (queryOptions.queryKey[1]?.type === "infinite") queryClient.prefetchInfiniteQuery(queryOptions);
|
|
45
|
+
else queryClient.prefetchQuery(queryOptions);
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
//#endregion
|
|
51
|
+
export { createTRPCTanstackQueryServer };
|
|
2
52
|
//# sourceMappingURL=server.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.mjs","names":[],"sources":["../../src/tanstack-query/server.tsx"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Stryke\n\n This code was released as part of the Stryke project. Stryke\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/stryke.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/stryke\n Documentation: https://docs.stormsoftware.com/projects/stryke\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport type { MaybePromise } from \"@stryke/types\";\nimport type { QueryClientConfig } from \"@tanstack/react-query\";\nimport { dehydrate, HydrationBoundary } from \"@tanstack/react-query\";\nimport type { AnyTRPCRouter, inferRouterContext } from \"@trpc/server\";\nimport type { TRPCQueryOptions } from \"@trpc/tanstack-react-query\";\nimport { createTRPCOptionsProxy } from \"@trpc/tanstack-react-query\";\nimport defu from \"defu\";\nimport React, { cache } from \"react\";\nimport \"server-only\";\nimport { createQueryClient } from \"../shared\";\n\n/**\n * Create a TRPC Tanstack Query server.\n *\n * @param router - The TRPC router\n * @param createContext - The context creator function\n * @param queryClientConfig - The query client config\n * @returns The TRPC Tanstack Query server\n */\nexport function createTRPCTanstackQueryServer<\n TRouter extends AnyTRPCRouter,\n TContext extends inferRouterContext<TRouter> = inferRouterContext<TRouter>\n>(\n headers: () => Promise<Headers>,\n router: TRouter,\n createContext: () => MaybePromise<TContext> = () => ({}) as TContext,\n queryClientConfig: Partial<QueryClientConfig> = {}\n) {\n const _createContext = cache(async (): Promise<TContext> => {\n const context = await Promise.resolve(createContext());\n\n const _headers = new Headers(await headers());\n _headers.set(\"x-trpc-source\", \"rsc\");\n\n return defu(\n {\n headers: Object.fromEntries(_headers)\n },\n context\n ) as TContext;\n });\n\n /**\n * Create a stable getter for the query client that\n * will return the same client during the same request.\n */\n const getQueryClient = cache(() => createQueryClient(queryClientConfig));\n\n const trpc = createTRPCOptionsProxy({\n router,\n queryClient: getQueryClient,\n ctx: _createContext\n });\n\n return {\n trpc,\n HydrateClient: (props: { children: React.ReactNode }) => {\n const dehydratedState = dehydrate(getQueryClient());\n\n return (\n <HydrationBoundary state={dehydratedState}>\n {props.children}\n </HydrationBoundary>\n );\n },\n prefetch: <T extends ReturnType<TRPCQueryOptions<any>>>(\n queryOptions: T\n ) => {\n const queryClient = getQueryClient();\n if (queryOptions.queryKey[1]?.type === \"infinite\") {\n void queryClient.prefetchInfiniteQuery(queryOptions as any);\n } else {\n void queryClient.prefetchQuery(queryOptions);\n }\n }\n };\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"server.mjs","names":[],"sources":["../../src/tanstack-query/server.tsx"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Stryke\n\n This code was released as part of the Stryke project. Stryke\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/stryke.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/stryke\n Documentation: https://docs.stormsoftware.com/projects/stryke\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport type { MaybePromise } from \"@stryke/types\";\nimport type { QueryClientConfig } from \"@tanstack/react-query\";\nimport { dehydrate, HydrationBoundary } from \"@tanstack/react-query\";\nimport type { AnyTRPCRouter, inferRouterContext } from \"@trpc/server\";\nimport type { TRPCQueryOptions } from \"@trpc/tanstack-react-query\";\nimport { createTRPCOptionsProxy } from \"@trpc/tanstack-react-query\";\nimport defu from \"defu\";\nimport React, { cache } from \"react\";\nimport \"server-only\";\nimport { createQueryClient } from \"../shared\";\n\n/**\n * Create a TRPC Tanstack Query server.\n *\n * @param router - The TRPC router\n * @param createContext - The context creator function\n * @param queryClientConfig - The query client config\n * @returns The TRPC Tanstack Query server\n */\nexport function createTRPCTanstackQueryServer<\n TRouter extends AnyTRPCRouter,\n TContext extends inferRouterContext<TRouter> = inferRouterContext<TRouter>\n>(\n headers: () => Promise<Headers>,\n router: TRouter,\n createContext: () => MaybePromise<TContext> = () => ({}) as TContext,\n queryClientConfig: Partial<QueryClientConfig> = {}\n) {\n const _createContext = cache(async (): Promise<TContext> => {\n const context = await Promise.resolve(createContext());\n\n const _headers = new Headers(await headers());\n _headers.set(\"x-trpc-source\", \"rsc\");\n\n return defu(\n {\n headers: Object.fromEntries(_headers)\n },\n context\n ) as TContext;\n });\n\n /**\n * Create a stable getter for the query client that\n * will return the same client during the same request.\n */\n const getQueryClient = cache(() => createQueryClient(queryClientConfig));\n\n const trpc = createTRPCOptionsProxy({\n router,\n queryClient: getQueryClient,\n ctx: _createContext\n });\n\n return {\n trpc,\n HydrateClient: (props: { children: React.ReactNode }) => {\n const dehydratedState = dehydrate(getQueryClient());\n\n return (\n <HydrationBoundary state={dehydratedState}>\n {props.children}\n </HydrationBoundary>\n );\n },\n prefetch: <T extends ReturnType<TRPCQueryOptions<any>>>(\n queryOptions: T\n ) => {\n const queryClient = getQueryClient();\n if (queryOptions.queryKey[1]?.type === \"infinite\") {\n void queryClient.prefetchInfiniteQuery(queryOptions as any);\n } else {\n void queryClient.prefetchQuery(queryOptions);\n }\n }\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAqCA,SAAgB,8BAId,SACA,QACA,uBAAqD,EAAE,GACvD,oBAAgD,EAAE,EAClD;CACA,MAAM,iBAAiB,MAAM,YAA+B;EAC1D,MAAM,UAAU,MAAM,QAAQ,QAAQ,eAAe,CAAC;EAEtD,MAAM,WAAW,IAAI,QAAQ,MAAM,SAAS,CAAC;AAC7C,WAAS,IAAI,iBAAiB,MAAM;AAEpC,SAAO,KACL,EACE,SAAS,OAAO,YAAY,SAAS,EACtC,EACD,QACD;GACD;;;;;CAMF,MAAM,iBAAiB,YAAY,kBAAkB,kBAAkB,CAAC;AAQxE,QAAO;EACL,MAPW,uBAAuB;GAClC;GACA,aAAa;GACb,KAAK;GACN,CAAC;EAIA,gBAAgB,UAAyC;AAGvD,UACE,oBAAC;IAAkB,OAHG,UAAU,gBAAgB,CAAC;cAI9C,MAAM;KACW;;EAGxB,WACE,iBACG;GACH,MAAM,cAAc,gBAAgB;AACpC,OAAI,aAAa,SAAS,IAAI,SAAS,WACrC,CAAK,YAAY,sBAAsB,aAAoB;OAE3D,CAAK,YAAY,cAAc,aAAa;;EAGjD"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stryke/trpc-next",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.49",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "A package to help in using tRPC in modern NextJs applications.",
|
|
6
6
|
"repository": {
|
|
@@ -101,5 +101,5 @@
|
|
|
101
101
|
"tsdown": "^0.17.2"
|
|
102
102
|
},
|
|
103
103
|
"publishConfig": { "access": "public" },
|
|
104
|
-
"gitHead": "
|
|
104
|
+
"gitHead": "9c02f25b3bf83a1228a94fc2ef3fcd816dc0f707"
|
|
105
105
|
}
|