@stryke/trpc-next 0.5.0 → 0.5.2

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/dist/server.d.ts CHANGED
@@ -30,5 +30,5 @@ export type NextAppDirDecorateRouterRecord<TRoot extends AnyRootTypes, TRecord e
30
30
  * @param router - The router created by the user
31
31
  * @param createContext - An optional function to generate a context
32
32
  */
33
- export declare function createTRPCServer<TRouter extends AnyTRPCRouter, TContext extends inferRouterContext<TRouter>>(router: TRouter, createContext?: () => MaybePromise<TContext>): NextAppDirDecorateRouterRecord<TRouter["_def"]["_config"]["$types"], TRouter["_def"]["record"]>;
33
+ export declare function createTRPCServer<TRouter extends AnyTRPCRouter, TContext extends inferRouterContext<TRouter> = inferRouterContext<TRouter>>(router: TRouter, createContext?: () => MaybePromise<TContext>): NextAppDirDecorateRouterRecord<TRouter["_def"]["_config"]["$types"], TRouter["_def"]["record"]>;
34
34
  export { experimental_notFound as notFound, experimental_redirect as redirect } from "@trpc/server/adapters/next-app-dir";
package/dist/server.mjs CHANGED
@@ -1 +1 @@
1
- import{loggerLink as o}from"@trpc/client";import{experimental_nextCacheLink as n}from"@trpc/next/app-dir/links/nextCache";import{experimental_createTRPCNextAppDirServer as p}from"@trpc/next/app-dir/server";import{cookies as u}from"next/headers";import{transformer as i}from"./shared";export function createTRPCServer(r,t=()=>({})){return p({config(){return{links:[o({enabled:e=>!0}),n({revalidate:5,router:r,transformer:i,createContext:async()=>{const e=await Promise.resolve(t());return e.headers??={},e.headers["x-trpc-source"]="rsc-invoke",e.headers.cookie=(await u()).toString(),e}})]}}})}export{experimental_notFound as notFound,experimental_redirect as redirect}from"@trpc/server/adapters/next-app-dir";
1
+ import{loggerLink as o}from"@trpc/client";import{experimental_nextCacheLink as n}from"@trpc/next/app-dir/links/nextCache";import{experimental_createTRPCNextAppDirServer as u}from"@trpc/next/app-dir/server";import{cookies as p}from"next/headers";import{transformer as i}from"./shared";export function createTRPCServer(r,t=()=>({})){return u({config(){return{links:[o({enabled:e=>!0}),n({revalidate:5,router:r,transformer:i,createContext:async()=>{const e=await Promise.resolve(t());return e.headers??={},e.headers["x-trpc-source"]="rsc-invoke",e.headers.cookie=(await p()).toString(),e}})]}}})}export{experimental_notFound as notFound,experimental_redirect as redirect}from"@trpc/server/adapters/next-app-dir";
package/dist/shared.cjs CHANGED
@@ -25,7 +25,7 @@ _superjson.default.registerCustom({
25
25
  deserialize: e => _polyfill.Temporal.PlainDateTime.from(e)
26
26
  }, "Temporal.PlainDateTime");
27
27
  const transformer = exports.transformer = _superjson.default,
28
- createQueryClient = e => new _reactQuery.QueryClient((0, _defu.default)(e, {
28
+ createQueryClient = (e = {}) => new _reactQuery.QueryClient((0, _defu.default)(e, {
29
29
  defaultOptions: {
30
30
  queries: {
31
31
  staleTime: 1e3 * 30
package/dist/shared.d.ts CHANGED
@@ -7,7 +7,7 @@ export declare const transformer: DataTransformer;
7
7
  /**
8
8
  * Create a TRPC Tanstack Query client.
9
9
  *
10
- * @param config - The query client config
10
+ * @param queryClientConfig - The query client config
11
11
  * @returns The TRPC Tanstack Query client
12
12
  */
13
- export declare const createQueryClient: (config?: Partial<QueryClientConfig>) => QueryClient;
13
+ export declare const createQueryClient: (queryClientConfig?: Partial<QueryClientConfig>) => QueryClient;
package/dist/shared.mjs CHANGED
@@ -1 +1 @@
1
- import{Temporal as r}from"@js-temporal/polyfill";import{joinPaths as i}from"@stryke/path/join-paths";import{defaultShouldDehydrateQuery as o,QueryClient as n}from"@tanstack/react-query";import s from"defu";import a from"superjson";export function getTRPCServerUrl(e,t=1){return i(typeof e=="string"?e:e.host||"","api",t?`v${t}`:"","trpc")}a.registerCustom({isApplicable:e=>e instanceof r.PlainDate,serialize:e=>e.toJSON(),deserialize:e=>r.PlainDate.from(e)},"Temporal.PlainDate"),a.registerCustom({isApplicable:e=>e instanceof r.PlainDateTime,serialize:e=>e.toJSON(),deserialize:e=>r.PlainDateTime.from(e)},"Temporal.PlainDateTime");export const transformer=a,createQueryClient=e=>new n(s(e,{defaultOptions:{queries:{staleTime:1e3*30},dehydrate:{shouldDehydrateQuery:t=>o(t)||t.state.status==="pending",serializeData:transformer.serialize},hydrate:{deserializeData:transformer.deserialize}}}));
1
+ import{Temporal as r}from"@js-temporal/polyfill";import{joinPaths as i}from"@stryke/path/join-paths";import{defaultShouldDehydrateQuery as o,QueryClient as n}from"@tanstack/react-query";import s from"defu";import a from"superjson";export function getTRPCServerUrl(e,t=1){return i(typeof e=="string"?e:e.host||"","api",t?`v${t}`:"","trpc")}a.registerCustom({isApplicable:e=>e instanceof r.PlainDate,serialize:e=>e.toJSON(),deserialize:e=>r.PlainDate.from(e)},"Temporal.PlainDate"),a.registerCustom({isApplicable:e=>e instanceof r.PlainDateTime,serialize:e=>e.toJSON(),deserialize:e=>r.PlainDateTime.from(e)},"Temporal.PlainDateTime");export const transformer=a,createQueryClient=(e={})=>new n(s(e,{defaultOptions:{queries:{staleTime:1e3*30},dehydrate:{shouldDehydrateQuery:t=>o(t)||t.state.status==="pending",serializeData:transformer.serialize},hydrate:{deserializeData:transformer.deserialize}}}));
@@ -8,17 +8,17 @@ var _constructors = require("./constructors.cjs");
8
8
  var _generator = require("./generator.cjs");
9
9
  var _utils = require("./utils.cjs");
10
10
  var _validation = require("./validation.cjs");
11
- function u(e) {
12
- return typeof e.fallbackError == "string" && (e.fallbackError = new Error(e.fallbackError)), {
13
- debug: e.debug ?? !1,
14
- allowExternalErrors: (0, _utils.withDefault)(!1)(e.allowExternalErrors),
15
- fallbackRule: (0, _utils.withDefault)(_constructors.allow)(e.fallbackRule),
16
- fallbackError: (0, _utils.withDefault)(new Error("Not Authorised!"))(e.fallbackError)
11
+ function u(r) {
12
+ return typeof r.fallbackError == "string" && (r.fallbackError = new Error(r.fallbackError)), {
13
+ debug: r.debug ?? !1,
14
+ allowExternalErrors: (0, _utils.withDefault)(!1)(r.allowExternalErrors),
15
+ fallbackRule: (0, _utils.withDefault)(_constructors.allow)(r.fallbackRule),
16
+ fallbackError: (0, _utils.withDefault)(new Error("Authorization error"))(r.fallbackError)
17
17
  };
18
18
  }
19
- function shield(e, o = {}) {
19
+ function shield(r, o = {}) {
20
20
  const n = u(o),
21
- r = (0, _validation.validateRuleTree)(e);
22
- if (r.status === "ok") return (0, _generator.generateMiddlewareFromRuleTree)(e, n);
23
- throw new _validation.ValidationError(r.message);
21
+ t = (0, _validation.validateRuleTree)(r);
22
+ if (t.status === "ok") return (0, _generator.generateMiddlewareFromRuleTree)(r, n);
23
+ throw new _validation.ValidationError(t.message);
24
24
  }
@@ -3,4 +3,4 @@ import type { IOptionsConstructor, IRules } from "./types";
3
3
  /**
4
4
  * Validates rules and generates middleware from defined rule tree.
5
5
  */
6
- export declare function shield<TContext extends Record<string, any>, TMeta extends object = object, TContextOverridesIn = TContext, $ContextOverridesOut = TContext, TInputOut = unknown>(ruleTree: IRules<TContext>, options?: IOptionsConstructor<TContext>): MiddlewareFunction<TContext, TMeta, TContextOverridesIn, $ContextOverridesOut, TInputOut>;
6
+ export declare function shield<TContext extends Record<string, any>, TMeta extends object = object>(ruleTree: IRules<TContext>, options?: IOptionsConstructor<TContext>): MiddlewareFunction<TContext, TMeta, TContext, TContext, unknown>;
@@ -1 +1 @@
1
- import{allow as l}from"./constructors";import{generateMiddlewareFromRuleTree as a}from"./generator";import{withDefault as t}from"./utils";import{ValidationError as i,validateRuleTree as s}from"./validation";function u(e){return typeof e.fallbackError=="string"&&(e.fallbackError=new Error(e.fallbackError)),{debug:e.debug??!1,allowExternalErrors:t(!1)(e.allowExternalErrors),fallbackRule:t(l)(e.fallbackRule),fallbackError:t(new Error("Not Authorised!"))(e.fallbackError)}}export function shield(e,o={}){const n=u(o),r=s(e);if(r.status==="ok")return a(e,n);throw new i(r.message)}
1
+ import{allow as l}from"./constructors";import{generateMiddlewareFromRuleTree as a}from"./generator";import{withDefault as e}from"./utils";import{ValidationError as i,validateRuleTree as s}from"./validation";function u(r){return typeof r.fallbackError=="string"&&(r.fallbackError=new Error(r.fallbackError)),{debug:r.debug??!1,allowExternalErrors:e(!1)(r.allowExternalErrors),fallbackRule:e(l)(r.fallbackRule),fallbackError:e(new Error("Authorization error"))(r.fallbackError)}}export function shield(r,o={}){const n=u(o),t=s(r);if(t.status==="ok")return a(r,n);throw new i(t.message)}
@@ -14,7 +14,7 @@ var _shared = require("../shared.cjs");
14
14
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
15
15
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
16
16
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
17
- function createTRPCTanstackQueryServer(n, i = () => ({}), a) {
17
+ function createTRPCTanstackQueryServer(n, i = () => ({}), a = {}) {
18
18
  const c = (0, _react.cache)(async () => {
19
19
  const e = await Promise.resolve(i()),
20
20
  t = new Headers(await (0, _headers.headers)());
@@ -9,10 +9,10 @@ import "server-only";
9
9
  *
10
10
  * @param router - The TRPC router
11
11
  * @param createContext - The context creator function
12
- * @param config - The query client config
12
+ * @param queryClientConfig - The query client config
13
13
  * @returns The TRPC Tanstack Query server
14
14
  */
15
- export declare function createTRPCTanstackQueryServer<TRouter extends AnyTRPCRouter, TContext extends inferRouterContext<TRouter>>(router: TRouter, createContext?: () => MaybePromise<TContext>, config?: Partial<QueryClientConfig>): {
15
+ export declare function createTRPCTanstackQueryServer<TRouter extends AnyTRPCRouter, TContext extends inferRouterContext<TRouter> = inferRouterContext<TRouter>>(router: TRouter, createContext?: () => MaybePromise<TContext>, queryClientConfig?: Partial<QueryClientConfig>): {
16
16
  trpc: import("@trpc/tanstack-react-query").TRPCOptionsProxy<TRouter>;
17
17
  HydrateClient: (props: {
18
18
  children: React.ReactNode;
@@ -1 +1 @@
1
- import{dehydrate as s,HydrationBoundary as y}from"@tanstack/react-query";import{createTRPCOptionsProxy as p}from"@trpc/tanstack-react-query";import u from"defu";import{headers as m}from"next/headers";import d,{cache as o}from"react";import"server-only";import{createQueryClient as f}from"../shared";export function createTRPCTanstackQueryServer(n,i=()=>({}),a){const c=o(async()=>{const e=await Promise.resolve(i()),t=new Headers(await m());return t.set("x-trpc-source","rsc"),u({headers:Object.fromEntries(t)},e)}),r=o(()=>f(a));return{trpc:p({router:n,queryClient:r,ctx:c}),HydrateClient:e=>{const t=s(r());return d.createElement(y,{state:t},e.children)},prefetch:e=>{const t=r();e.queryKey[1]?.type==="infinite"?t.prefetchInfiniteQuery(e):t.prefetchQuery(e)}}}
1
+ import{dehydrate as s,HydrationBoundary as y}from"@tanstack/react-query";import{createTRPCOptionsProxy as u}from"@trpc/tanstack-react-query";import p from"defu";import{headers as m}from"next/headers";import f,{cache as o}from"react";import"server-only";import{createQueryClient as C}from"../shared";export function createTRPCTanstackQueryServer(n,i=()=>({}),a={}){const c=o(async()=>{const e=await Promise.resolve(i()),t=new Headers(await m());return t.set("x-trpc-source","rsc"),p({headers:Object.fromEntries(t)},e)}),r=o(()=>C(a));return{trpc:u({router:n,queryClient:r,ctx:c}),HydrateClient:e=>{const t=s(r());return f.createElement(y,{state:t},e.children)},prefetch:e=>{const t=r();e.queryKey[1]?.type==="infinite"?t.prefetchInfiniteQuery(e):t.prefetchQuery(e)}}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stryke/trpc-next",
3
- "version": "0.5.0",
3
+ "version": "0.5.2",
4
4
  "type": "module",
5
5
  "description": "A package to help in using tRPC in modern NextJs applications.",
6
6
  "repository": {
@@ -22,10 +22,10 @@
22
22
  "dependencies": {
23
23
  "@js-temporal/polyfill": "^0.5.0",
24
24
  "@tanstack/react-query": "^5.70.0",
25
- "@trpc/client": "^11.0.1",
26
- "@trpc/next": "^11.0.1",
27
- "@trpc/server": "^11.0.1",
28
- "@trpc/tanstack-react-query": "^11.0.1",
25
+ "@trpc/client": "next",
26
+ "@trpc/next": "next",
27
+ "@trpc/server": "next",
28
+ "@trpc/tanstack-react-query": "next",
29
29
  "defu": "^6.1.4",
30
30
  "server-only": "^0.0.1",
31
31
  "superjson": "2.2.2",