@trpc/next 10.0.0-alpha.2 → 10.0.0-alpha.20
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/{declarations/src/index.d.ts → index.d.ts} +2 -2
- package/dist/index.d.ts.map +1 -0
- package/dist/{trpc-next.cjs.dev.js → index.js} +32 -25
- package/dist/{trpc-next.esm.js → index.mjs} +17 -14
- package/dist/index.ts.js +1 -0
- package/dist/setupNext.d.ts +50 -0
- package/dist/setupNext.d.ts.map +1 -0
- package/dist/{declarations/src/withTRPC.d.ts → withTRPC.d.ts} +30 -30
- package/dist/withTRPC.d.ts.map +1 -0
- package/package.json +20 -16
- package/src/withTRPC.tsx +12 -13
- package/dist/declarations/src/index.d.ts.map +0 -1
- package/dist/declarations/src/setupNext.d.ts +0 -50
- package/dist/declarations/src/setupNext.d.ts.map +0 -1
- package/dist/declarations/src/withTRPC.d.ts.map +0 -1
- package/dist/trpc-next.cjs.d.ts +0 -1
- package/dist/trpc-next.cjs.js +0 -7
- package/dist/trpc-next.cjs.prod.js +0 -250
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './withTRPC';
|
|
2
|
-
export * from './setupNext';
|
|
1
|
+
export * from './withTRPC';
|
|
2
|
+
export * from './setupNext';
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
|
|
@@ -5,19 +5,26 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
6
6
|
var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
|
|
7
7
|
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
8
|
-
var
|
|
8
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
9
9
|
var _regeneratorRuntime = require('@babel/runtime/regenerator');
|
|
10
10
|
var react = require('@trpc/react');
|
|
11
11
|
var React = require('react');
|
|
12
12
|
var reactQuery = require('react-query');
|
|
13
|
-
var hydration = require('react-query/hydration');
|
|
14
13
|
var ssrPrepass = require('react-ssr-prepass');
|
|
15
14
|
|
|
16
|
-
function
|
|
15
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
17
16
|
|
|
18
|
-
var
|
|
19
|
-
var
|
|
20
|
-
var
|
|
17
|
+
var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
|
|
18
|
+
var _asyncToGenerator__default = /*#__PURE__*/_interopDefaultLegacy(_asyncToGenerator);
|
|
19
|
+
var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
|
|
20
|
+
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
21
|
+
var _regeneratorRuntime__default = /*#__PURE__*/_interopDefaultLegacy(_regeneratorRuntime);
|
|
22
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
23
|
+
var ssrPrepass__default = /*#__PURE__*/_interopDefaultLegacy(ssrPrepass);
|
|
24
|
+
|
|
25
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
26
|
+
|
|
27
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
21
28
|
|
|
22
29
|
function transformQueryOrMutationCacheErrors(result) {
|
|
23
30
|
var error = result.state.error;
|
|
@@ -57,38 +64,38 @@ function withTRPC(opts) {
|
|
|
57
64
|
return {
|
|
58
65
|
queryClient: queryClient,
|
|
59
66
|
trpcClient: trpcClient,
|
|
60
|
-
|
|
67
|
+
ssrState: opts.ssr ? 'mounting' : false,
|
|
61
68
|
ssrContext: null
|
|
62
69
|
};
|
|
63
70
|
}),
|
|
64
|
-
_useState2 =
|
|
71
|
+
_useState2 = _slicedToArray__default["default"](_useState, 1),
|
|
65
72
|
_useState2$ = _useState2[0],
|
|
66
73
|
queryClient = _useState2$.queryClient,
|
|
67
74
|
trpcClient = _useState2$.trpcClient,
|
|
68
|
-
|
|
75
|
+
ssrState = _useState2$.ssrState,
|
|
69
76
|
ssrContext = _useState2$.ssrContext;
|
|
70
77
|
|
|
71
78
|
var hydratedState = trpc.useDehydratedState((_props$pageProps = props.pageProps) === null || _props$pageProps === void 0 ? void 0 : _props$pageProps.trpcState);
|
|
72
|
-
return /*#__PURE__*/React__default[
|
|
79
|
+
return /*#__PURE__*/React__default["default"].createElement(trpc.Provider, {
|
|
73
80
|
client: trpcClient,
|
|
74
81
|
queryClient: queryClient,
|
|
75
|
-
|
|
82
|
+
ssrState: ssrState,
|
|
76
83
|
ssrContext: ssrContext
|
|
77
|
-
}, /*#__PURE__*/React__default[
|
|
84
|
+
}, /*#__PURE__*/React__default["default"].createElement(reactQuery.QueryClientProvider, {
|
|
78
85
|
client: queryClient
|
|
79
|
-
}, /*#__PURE__*/React__default[
|
|
86
|
+
}, /*#__PURE__*/React__default["default"].createElement(reactQuery.Hydrate, {
|
|
80
87
|
state: hydratedState
|
|
81
|
-
}, /*#__PURE__*/React__default[
|
|
88
|
+
}, /*#__PURE__*/React__default["default"].createElement(AppOrPage, props))));
|
|
82
89
|
};
|
|
83
90
|
|
|
84
91
|
if (AppOrPage.getInitialProps || opts.ssr) {
|
|
85
92
|
WithTRPC.getInitialProps = /*#__PURE__*/function () {
|
|
86
|
-
var _ref =
|
|
87
|
-
var _opts$responseMeta
|
|
93
|
+
var _ref = _asyncToGenerator__default["default"]( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee(appOrPageCtx) {
|
|
94
|
+
var _opts$responseMeta;
|
|
88
95
|
|
|
89
96
|
var AppTree, isApp, ctx, pageProps, _originalProps$pagePr, originalProps, originalPageProps, getAppTreeProps, config, trpcClient, queryClient, trpcProp, prepassProps, dehydratedCache, dehydratedCacheWithErrors, appTreeProps, meta, _i, _Object$entries, _Object$entries$_i, key, value, _ctx$res;
|
|
90
97
|
|
|
91
|
-
return _regeneratorRuntime__default[
|
|
98
|
+
return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
|
|
92
99
|
while (1) {
|
|
93
100
|
switch (_context.prev = _context.next) {
|
|
94
101
|
case 0:
|
|
@@ -136,7 +143,7 @@ function withTRPC(opts) {
|
|
|
136
143
|
config: config,
|
|
137
144
|
trpcClient: trpcClient,
|
|
138
145
|
queryClient: queryClient,
|
|
139
|
-
|
|
146
|
+
ssrState: 'prepass',
|
|
140
147
|
ssrContext: ctx
|
|
141
148
|
};
|
|
142
149
|
prepassProps = {
|
|
@@ -148,7 +155,7 @@ function withTRPC(opts) {
|
|
|
148
155
|
case 18:
|
|
149
156
|
|
|
150
157
|
_context.next = 21;
|
|
151
|
-
return ssrPrepass__default[
|
|
158
|
+
return ssrPrepass__default["default"]( /*#__PURE__*/React.createElement(AppTree, prepassProps));
|
|
152
159
|
|
|
153
160
|
case 21:
|
|
154
161
|
if (queryClient.isFetching()) {
|
|
@@ -174,7 +181,7 @@ function withTRPC(opts) {
|
|
|
174
181
|
break;
|
|
175
182
|
|
|
176
183
|
case 27:
|
|
177
|
-
dehydratedCache =
|
|
184
|
+
dehydratedCache = reactQuery.dehydrate(queryClient, {
|
|
178
185
|
shouldDehydrateQuery: function shouldDehydrateQuery() {
|
|
179
186
|
// makes sure errors are also dehydrated
|
|
180
187
|
return true;
|
|
@@ -188,17 +195,17 @@ function withTRPC(opts) {
|
|
|
188
195
|
|
|
189
196
|
pageProps.trpcState = opts.transformer ? opts.transformer.serialize(dehydratedCacheWithErrors) : dehydratedCacheWithErrors;
|
|
190
197
|
appTreeProps = getAppTreeProps(pageProps);
|
|
191
|
-
meta = (_opts$responseMeta =
|
|
198
|
+
meta = ((_opts$responseMeta = opts.responseMeta) === null || _opts$responseMeta === void 0 ? void 0 : _opts$responseMeta.call(opts, {
|
|
192
199
|
ctx: ctx,
|
|
193
|
-
clientErrors: [].concat(
|
|
200
|
+
clientErrors: [].concat(_toConsumableArray__default["default"](dehydratedCache.queries), _toConsumableArray__default["default"](dehydratedCache.mutations)).map(function (v) {
|
|
194
201
|
return v.state.error;
|
|
195
202
|
}).flatMap(function (err) {
|
|
196
203
|
return err instanceof Error && err.name === 'TRPCClientError' ? [err] : [];
|
|
197
204
|
})
|
|
198
|
-
}))
|
|
205
|
+
})) || {};
|
|
199
206
|
|
|
200
|
-
for (_i = 0, _Object$entries = Object.entries(meta); _i < _Object$entries.length; _i++) {
|
|
201
|
-
_Object$entries$_i =
|
|
207
|
+
for (_i = 0, _Object$entries = Object.entries(meta.headers || {}); _i < _Object$entries.length; _i++) {
|
|
208
|
+
_Object$entries$_i = _slicedToArray__default["default"](_Object$entries[_i], 2), key = _Object$entries$_i[0], value = _Object$entries$_i[1];
|
|
202
209
|
|
|
203
210
|
if (typeof value === 'string') {
|
|
204
211
|
(_ctx$res = ctx.res) === null || _ctx$res === void 0 ? void 0 : _ctx$res.setHeader(key, value);
|
|
@@ -1,14 +1,17 @@
|
|
|
1
|
-
import _toConsumableArray from '@babel/runtime/helpers/
|
|
2
|
-
import _asyncToGenerator from '@babel/runtime/helpers/
|
|
3
|
-
import _slicedToArray from '@babel/runtime/helpers/
|
|
4
|
-
import
|
|
1
|
+
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
2
|
+
import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
|
|
3
|
+
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
4
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
5
5
|
import _regeneratorRuntime from '@babel/runtime/regenerator';
|
|
6
6
|
import { createReactQueryHooks, createTRPCClient } from '@trpc/react';
|
|
7
7
|
import React, { useState, createElement } from 'react';
|
|
8
|
-
import { QueryClient, QueryClientProvider } from 'react-query';
|
|
9
|
-
import { Hydrate, dehydrate } from 'react-query/hydration';
|
|
8
|
+
import { QueryClient, QueryClientProvider, Hydrate, dehydrate } from 'react-query';
|
|
10
9
|
import ssrPrepass from 'react-ssr-prepass';
|
|
11
10
|
|
|
11
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
12
|
+
|
|
13
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
14
|
+
|
|
12
15
|
function transformQueryOrMutationCacheErrors(result) {
|
|
13
16
|
var error = result.state.error;
|
|
14
17
|
|
|
@@ -47,7 +50,7 @@ function withTRPC(opts) {
|
|
|
47
50
|
return {
|
|
48
51
|
queryClient: queryClient,
|
|
49
52
|
trpcClient: trpcClient,
|
|
50
|
-
|
|
53
|
+
ssrState: opts.ssr ? 'mounting' : false,
|
|
51
54
|
ssrContext: null
|
|
52
55
|
};
|
|
53
56
|
}),
|
|
@@ -55,14 +58,14 @@ function withTRPC(opts) {
|
|
|
55
58
|
_useState2$ = _useState2[0],
|
|
56
59
|
queryClient = _useState2$.queryClient,
|
|
57
60
|
trpcClient = _useState2$.trpcClient,
|
|
58
|
-
|
|
61
|
+
ssrState = _useState2$.ssrState,
|
|
59
62
|
ssrContext = _useState2$.ssrContext;
|
|
60
63
|
|
|
61
64
|
var hydratedState = trpc.useDehydratedState((_props$pageProps = props.pageProps) === null || _props$pageProps === void 0 ? void 0 : _props$pageProps.trpcState);
|
|
62
65
|
return /*#__PURE__*/React.createElement(trpc.Provider, {
|
|
63
66
|
client: trpcClient,
|
|
64
67
|
queryClient: queryClient,
|
|
65
|
-
|
|
68
|
+
ssrState: ssrState,
|
|
66
69
|
ssrContext: ssrContext
|
|
67
70
|
}, /*#__PURE__*/React.createElement(QueryClientProvider, {
|
|
68
71
|
client: queryClient
|
|
@@ -74,7 +77,7 @@ function withTRPC(opts) {
|
|
|
74
77
|
if (AppOrPage.getInitialProps || opts.ssr) {
|
|
75
78
|
WithTRPC.getInitialProps = /*#__PURE__*/function () {
|
|
76
79
|
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(appOrPageCtx) {
|
|
77
|
-
var _opts$responseMeta
|
|
80
|
+
var _opts$responseMeta;
|
|
78
81
|
|
|
79
82
|
var AppTree, isApp, ctx, pageProps, _originalProps$pagePr, originalProps, originalPageProps, getAppTreeProps, config, trpcClient, queryClient, trpcProp, prepassProps, dehydratedCache, dehydratedCacheWithErrors, appTreeProps, meta, _i, _Object$entries, _Object$entries$_i, key, value, _ctx$res;
|
|
80
83
|
|
|
@@ -126,7 +129,7 @@ function withTRPC(opts) {
|
|
|
126
129
|
config: config,
|
|
127
130
|
trpcClient: trpcClient,
|
|
128
131
|
queryClient: queryClient,
|
|
129
|
-
|
|
132
|
+
ssrState: 'prepass',
|
|
130
133
|
ssrContext: ctx
|
|
131
134
|
};
|
|
132
135
|
prepassProps = {
|
|
@@ -178,16 +181,16 @@ function withTRPC(opts) {
|
|
|
178
181
|
|
|
179
182
|
pageProps.trpcState = opts.transformer ? opts.transformer.serialize(dehydratedCacheWithErrors) : dehydratedCacheWithErrors;
|
|
180
183
|
appTreeProps = getAppTreeProps(pageProps);
|
|
181
|
-
meta = (_opts$responseMeta =
|
|
184
|
+
meta = ((_opts$responseMeta = opts.responseMeta) === null || _opts$responseMeta === void 0 ? void 0 : _opts$responseMeta.call(opts, {
|
|
182
185
|
ctx: ctx,
|
|
183
186
|
clientErrors: [].concat(_toConsumableArray(dehydratedCache.queries), _toConsumableArray(dehydratedCache.mutations)).map(function (v) {
|
|
184
187
|
return v.state.error;
|
|
185
188
|
}).flatMap(function (err) {
|
|
186
189
|
return err instanceof Error && err.name === 'TRPCClientError' ? [err] : [];
|
|
187
190
|
})
|
|
188
|
-
}))
|
|
191
|
+
})) || {};
|
|
189
192
|
|
|
190
|
-
for (_i = 0, _Object$entries = Object.entries(meta); _i < _Object$entries.length; _i++) {
|
|
193
|
+
for (_i = 0, _Object$entries = Object.entries(meta.headers || {}); _i < _Object$entries.length; _i++) {
|
|
191
194
|
_Object$entries$_i = _slicedToArray(_Object$entries[_i], 2), key = _Object$entries$_i[0], value = _Object$entries$_i[1];
|
|
192
195
|
|
|
193
196
|
if (typeof value === 'string') {
|
package/dist/index.ts.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { AnyRouter } from '@trpc/server';
|
|
2
|
+
import { WithTRPCNoSSROptions, WithTRPCSSROptions } from './withTRPC';
|
|
3
|
+
export declare function setupTRPC<TRouter extends AnyRouter>(opts: WithTRPCNoSSROptions<TRouter> | WithTRPCSSROptions<TRouter>): {
|
|
4
|
+
useContext: () => import("@trpc/react").TRPCContextState<TRouter, unknown>;
|
|
5
|
+
useInfiniteQuery: <TPath_3 extends { [TPath in keyof TRouter["_def"]["queries"]]: import("@trpc/server").inferProcedureInput<TRouter["_def"]["queries"][TPath]> extends {
|
|
6
|
+
cursor?: any;
|
|
7
|
+
} ? TPath : never; }[keyof TRouter["_def"]["queries"]] & string>(pathAndInput: [path: TPath_3, input: Omit<{ [TPath_1 in keyof TRouter["_def"]["queries"]]: {
|
|
8
|
+
input: import("@trpc/server").inferProcedureInput<TRouter["_def"]["queries"][TPath_1]>;
|
|
9
|
+
output: import("@trpc/server").ThenArg<ReturnType<TRouter["_def"]["queries"][TPath_1]["call"]>>;
|
|
10
|
+
}; }[TPath_3]["input"], "cursor">], opts?: import("@trpc/react").UseTRPCInfiniteQueryOptions<TPath_3, Omit<{ [TPath_1 in keyof TRouter["_def"]["queries"]]: {
|
|
11
|
+
input: import("@trpc/server").inferProcedureInput<TRouter["_def"]["queries"][TPath_1]>;
|
|
12
|
+
output: import("@trpc/server").ThenArg<ReturnType<TRouter["_def"]["queries"][TPath_1]["call"]>>;
|
|
13
|
+
}; }[TPath_3]["input"], "cursor">, { [TPath_1 in keyof TRouter["_def"]["queries"]]: {
|
|
14
|
+
input: import("@trpc/server").inferProcedureInput<TRouter["_def"]["queries"][TPath_1]>;
|
|
15
|
+
output: import("@trpc/server").ThenArg<ReturnType<TRouter["_def"]["queries"][TPath_1]["call"]>>;
|
|
16
|
+
}; }[TPath_3]["output"], import("@trpc/react").TRPCClientErrorLike<TRouter>> | undefined) => import("react-query").UseInfiniteQueryResult<{ [TPath_1 in keyof TRouter["_def"]["queries"]]: {
|
|
17
|
+
input: import("@trpc/server").inferProcedureInput<TRouter["_def"]["queries"][TPath_1]>;
|
|
18
|
+
output: import("@trpc/server").ThenArg<ReturnType<TRouter["_def"]["queries"][TPath_1]["call"]>>;
|
|
19
|
+
}; }[TPath_3]["output"], import("@trpc/react").TRPCClientErrorLike<TRouter>>;
|
|
20
|
+
useMutation: <TPath_1 extends keyof TRouter["_def"]["mutations"] & string>(path: TPath_1 | [TPath_1], opts?: import("@trpc/react").UseTRPCMutationOptions<{ [TPath_2 in keyof TRouter["_def"]["mutations"]]: {
|
|
21
|
+
input: import("@trpc/server").inferProcedureInput<TRouter["_def"]["mutations"][TPath_2]>;
|
|
22
|
+
output: import("@trpc/server").ThenArg<ReturnType<TRouter["_def"]["mutations"][TPath_2]["call"]>>;
|
|
23
|
+
}; }[TPath_1]["input"], import("@trpc/react").TRPCClientErrorLike<TRouter>, { [TPath_2 in keyof TRouter["_def"]["mutations"]]: {
|
|
24
|
+
input: import("@trpc/server").inferProcedureInput<TRouter["_def"]["mutations"][TPath_2]>;
|
|
25
|
+
output: import("@trpc/server").ThenArg<ReturnType<TRouter["_def"]["mutations"][TPath_2]["call"]>>;
|
|
26
|
+
}; }[TPath_1]["output"]> | undefined) => import("react-query").UseMutationResult<{ [TPath_2 in keyof TRouter["_def"]["mutations"]]: {
|
|
27
|
+
input: import("@trpc/server").inferProcedureInput<TRouter["_def"]["mutations"][TPath_2]>;
|
|
28
|
+
output: import("@trpc/server").ThenArg<ReturnType<TRouter["_def"]["mutations"][TPath_2]["call"]>>;
|
|
29
|
+
}; }[TPath_1]["output"], import("@trpc/react").TRPCClientErrorLike<TRouter>, { [TPath_2 in keyof TRouter["_def"]["mutations"]]: {
|
|
30
|
+
input: import("@trpc/server").inferProcedureInput<TRouter["_def"]["mutations"][TPath_2]>;
|
|
31
|
+
output: import("@trpc/server").ThenArg<ReturnType<TRouter["_def"]["mutations"][TPath_2]["call"]>>;
|
|
32
|
+
}; }[TPath_1]["input"], unknown>;
|
|
33
|
+
useQuery: <TPath_4 extends keyof TRouter["_def"]["queries"] & string>(pathAndInput: [path: TPath_4, ...args: import("@trpc/server").inferHandlerInput<TRouter["_def"]["queries"][TPath_4]>], opts?: import("@trpc/react").UseTRPCQueryOptions<TPath_4, { [TPath_1 in keyof TRouter["_def"]["queries"]]: {
|
|
34
|
+
input: import("@trpc/server").inferProcedureInput<TRouter["_def"]["queries"][TPath_1]>;
|
|
35
|
+
output: import("@trpc/server").ThenArg<ReturnType<TRouter["_def"]["queries"][TPath_1]["call"]>>;
|
|
36
|
+
}; }[TPath_4]["input"], { [TPath_1 in keyof TRouter["_def"]["queries"]]: {
|
|
37
|
+
input: import("@trpc/server").inferProcedureInput<TRouter["_def"]["queries"][TPath_1]>;
|
|
38
|
+
output: import("@trpc/server").ThenArg<ReturnType<TRouter["_def"]["queries"][TPath_1]["call"]>>;
|
|
39
|
+
}; }[TPath_4]["output"], import("@trpc/react").TRPCClientErrorLike<TRouter>> | undefined) => import("react-query").UseQueryResult<{ [TPath_1 in keyof TRouter["_def"]["queries"]]: {
|
|
40
|
+
input: import("@trpc/server").inferProcedureInput<TRouter["_def"]["queries"][TPath_1]>;
|
|
41
|
+
output: import("@trpc/server").ThenArg<ReturnType<TRouter["_def"]["queries"][TPath_1]["call"]>>;
|
|
42
|
+
}; }[TPath_4]["output"], import("@trpc/react").TRPCClientErrorLike<TRouter>>;
|
|
43
|
+
useSubscription: <TPath_2 extends keyof TRouter["_def"]["subscriptions"] & string, TOutput extends ReturnType<import("@trpc/server").ThenArg<ReturnType<TRouter["_def"]["subscriptions"][TPath_2]["call"]>>["output"]>>(pathAndInput: [path: TPath_2, ...args: import("@trpc/server").inferHandlerInput<TRouter["_def"]["subscriptions"][TPath_2]>], opts: {
|
|
44
|
+
enabled?: boolean | undefined;
|
|
45
|
+
error?: ((err: import("@trpc/react").TRPCClientErrorLike<TRouter>) => void) | undefined;
|
|
46
|
+
next: (data: TOutput) => void;
|
|
47
|
+
}) => void;
|
|
48
|
+
withTRPC: (AppOrPage: import("next/types").NextComponentType<any, any, any>) => import("next/types").NextComponentType<import("next/types").NextPageContext, {}, {}>;
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=setupNext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setupNext.d.ts","sourceRoot":"","sources":["../src/setupNext.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAY,MAAM,YAAY,CAAC;AAEhF,wBAAgB,SAAS,CAAC,OAAO,SAAS,SAAS,EACjD,IAAI,EAAE,oBAAoB,CAAC,OAAO,CAAC,GAAG,kBAAkB,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYlE"}
|
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Heavily based on urql's ssr
|
|
3
|
-
* https://github.com/FormidableLabs/urql/blob/main/packages/next-urql/src/with-urql-client.ts
|
|
4
|
-
*/
|
|
5
|
-
import {
|
|
6
|
-
import
|
|
7
|
-
import {
|
|
8
|
-
import
|
|
9
|
-
import { QueryClient } from 'react-query';
|
|
10
|
-
declare type QueryClientConfig = ConstructorParameters<typeof QueryClient>[0];
|
|
11
|
-
export declare type WithTRPCConfig<TRouter extends AnyRouter> = CreateTRPCClientOptions<TRouter> & {
|
|
12
|
-
queryClientConfig?: QueryClientConfig;
|
|
13
|
-
};
|
|
14
|
-
interface WithTRPCOptions<TRouter extends AnyRouter> extends CreateReactQueryHooksOptions {
|
|
15
|
-
config: (info: {
|
|
16
|
-
ctx?: NextPageContext;
|
|
17
|
-
}) => WithTRPCConfig<TRouter>;
|
|
18
|
-
}
|
|
19
|
-
export interface WithTRPCSSROptions<TRouter extends AnyRouter> extends WithTRPCOptions<TRouter> {
|
|
20
|
-
ssr: true;
|
|
21
|
-
responseMeta?: (opts: {
|
|
22
|
-
ctx: NextPageContext;
|
|
23
|
-
clientErrors: TRPCClientError<TRouter>[];
|
|
24
|
-
}) => ResponseMeta;
|
|
25
|
-
}
|
|
26
|
-
export interface WithTRPCNoSSROptions<TRouter extends AnyRouter> extends WithTRPCOptions<TRouter> {
|
|
27
|
-
ssr?: false;
|
|
28
|
-
}
|
|
29
|
-
export declare function withTRPC<TRouter extends AnyRouter>(opts: WithTRPCNoSSROptions<TRouter> | WithTRPCSSROptions<TRouter>): (AppOrPage: NextComponentType<any, any, any>) => NextComponentType;
|
|
30
|
-
export {};
|
|
1
|
+
/**
|
|
2
|
+
* Heavily based on urql's ssr
|
|
3
|
+
* https://github.com/FormidableLabs/urql/blob/main/packages/next-urql/src/with-urql-client.ts
|
|
4
|
+
*/
|
|
5
|
+
import type { CreateTRPCClientOptions } from '@trpc/client/src/internals/TRPCClient';
|
|
6
|
+
import { CreateReactQueryHooksOptions, TRPCClientError } from '@trpc/react';
|
|
7
|
+
import type { AnyRouter, ResponseMeta } from '@trpc/server';
|
|
8
|
+
import { NextComponentType, NextPageContext } from 'next/dist/shared/lib/utils';
|
|
9
|
+
import { QueryClient } from 'react-query';
|
|
10
|
+
declare type QueryClientConfig = ConstructorParameters<typeof QueryClient>[0];
|
|
11
|
+
export declare type WithTRPCConfig<TRouter extends AnyRouter> = CreateTRPCClientOptions<TRouter> & {
|
|
12
|
+
queryClientConfig?: QueryClientConfig;
|
|
13
|
+
};
|
|
14
|
+
interface WithTRPCOptions<TRouter extends AnyRouter> extends CreateReactQueryHooksOptions {
|
|
15
|
+
config: (info: {
|
|
16
|
+
ctx?: NextPageContext;
|
|
17
|
+
}) => WithTRPCConfig<TRouter>;
|
|
18
|
+
}
|
|
19
|
+
export interface WithTRPCSSROptions<TRouter extends AnyRouter> extends WithTRPCOptions<TRouter> {
|
|
20
|
+
ssr: true;
|
|
21
|
+
responseMeta?: (opts: {
|
|
22
|
+
ctx: NextPageContext;
|
|
23
|
+
clientErrors: TRPCClientError<TRouter>[];
|
|
24
|
+
}) => ResponseMeta;
|
|
25
|
+
}
|
|
26
|
+
export interface WithTRPCNoSSROptions<TRouter extends AnyRouter> extends WithTRPCOptions<TRouter> {
|
|
27
|
+
ssr?: false;
|
|
28
|
+
}
|
|
29
|
+
export declare function withTRPC<TRouter extends AnyRouter>(opts: WithTRPCNoSSROptions<TRouter> | WithTRPCSSROptions<TRouter>): (AppOrPage: NextComponentType<any, any, any>) => NextComponentType;
|
|
30
|
+
export {};
|
|
31
31
|
//# sourceMappingURL=withTRPC.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withTRPC.d.ts","sourceRoot":"","sources":["../src/withTRPC.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AACrF,OAAO,EACL,4BAA4B,EAE5B,eAAe,EAIhB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,SAAS,EAAe,YAAY,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAGL,iBAAiB,EACjB,eAAe,EAChB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,WAAW,EAAuB,MAAM,aAAa,CAAC;AAI/D,aAAK,iBAAiB,GAAG,qBAAqB,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AAwBtE,oBAAY,cAAc,CAAC,OAAO,SAAS,SAAS,IAClD,uBAAuB,CAAC,OAAO,CAAC,GAAG;IACjC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC,CAAC;AAEJ,UAAU,eAAe,CAAC,OAAO,SAAS,SAAS,CACjD,SAAQ,4BAA4B;IACpC,MAAM,EAAE,CAAC,IAAI,EAAE;QAAE,GAAG,CAAC,EAAE,eAAe,CAAA;KAAE,KAAK,cAAc,CAAC,OAAO,CAAC,CAAC;CACtE;AAED,MAAM,WAAW,kBAAkB,CAAC,OAAO,SAAS,SAAS,CAC3D,SAAQ,eAAe,CAAC,OAAO,CAAC;IAChC,GAAG,EAAE,IAAI,CAAC;IACV,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE;QACpB,GAAG,EAAE,eAAe,CAAC;QACrB,YAAY,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;KAC1C,KAAK,YAAY,CAAC;CACpB;AACD,MAAM,WAAW,oBAAoB,CAAC,OAAO,SAAS,SAAS,CAC7D,SAAQ,eAAe,CAAC,OAAO,CAAC;IAChC,GAAG,CAAC,EAAE,KAAK,CAAC;CACb;AAED,wBAAgB,QAAQ,CAAC,OAAO,SAAS,SAAS,EAChD,IAAI,EAAE,oBAAoB,CAAC,OAAO,CAAC,GAAG,kBAAkB,CAAC,OAAO,CAAC,eAW9C,kBAAkB,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,KAAG,iBAAiB,CAsKxE"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trpc/next",
|
|
3
|
-
"version": "10.0.0-alpha.
|
|
3
|
+
"version": "10.0.0-alpha.20",
|
|
4
4
|
"description": "tRPC Next lib",
|
|
5
5
|
"author": "KATT",
|
|
6
6
|
"license": "MIT",
|
|
@@ -10,15 +10,19 @@
|
|
|
10
10
|
"url": "git+https://github.com/trpc/trpc.git",
|
|
11
11
|
"directory": "packages/next"
|
|
12
12
|
},
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
"scripts": {
|
|
14
|
+
"build": "rollup -c"
|
|
15
|
+
},
|
|
16
|
+
"main": "dist/index.js",
|
|
17
|
+
"module": "dist/index.mjs",
|
|
18
|
+
"typings": "dist/index.d.ts",
|
|
19
|
+
"exports": {
|
|
20
|
+
".": {
|
|
21
|
+
"import": "./dist/index.mjs",
|
|
22
|
+
"require": "./dist/index.js",
|
|
23
|
+
"default": "./dist/index.js"
|
|
24
|
+
}
|
|
17
25
|
},
|
|
18
|
-
"scripts": {},
|
|
19
|
-
"main": "dist/trpc-next.cjs.js",
|
|
20
|
-
"module": "dist/trpc-next.esm.js",
|
|
21
|
-
"typings": "dist/trpc-next.cjs.d.ts",
|
|
22
26
|
"files": [
|
|
23
27
|
"README.md",
|
|
24
28
|
"dist",
|
|
@@ -30,9 +34,9 @@
|
|
|
30
34
|
}
|
|
31
35
|
},
|
|
32
36
|
"peerDependencies": {
|
|
33
|
-
"@trpc/client": "10.0.0-alpha.
|
|
34
|
-
"@trpc/react": "10.0.0-alpha.
|
|
35
|
-
"@trpc/server": "10.0.0-alpha.
|
|
37
|
+
"@trpc/client": "10.0.0-alpha.20",
|
|
38
|
+
"@trpc/react": "10.0.0-alpha.20",
|
|
39
|
+
"@trpc/server": "10.0.0-alpha.20",
|
|
36
40
|
"next": "*",
|
|
37
41
|
"react": ">=16.8.0",
|
|
38
42
|
"react-dom": ">=16.8.0",
|
|
@@ -43,9 +47,9 @@
|
|
|
43
47
|
"react-ssr-prepass": "^1.5.0"
|
|
44
48
|
},
|
|
45
49
|
"devDependencies": {
|
|
46
|
-
"@trpc/client": "10.0.0-alpha.
|
|
47
|
-
"@trpc/react": "10.0.0-alpha.
|
|
48
|
-
"@trpc/server": "10.0.0-alpha.
|
|
50
|
+
"@trpc/client": "10.0.0-alpha.20",
|
|
51
|
+
"@trpc/react": "10.0.0-alpha.20",
|
|
52
|
+
"@trpc/server": "10.0.0-alpha.20",
|
|
49
53
|
"@types/express": "^4.17.12",
|
|
50
54
|
"express": "^4.17.1",
|
|
51
55
|
"next": "^12.0.1",
|
|
@@ -57,5 +61,5 @@
|
|
|
57
61
|
"publishConfig": {
|
|
58
62
|
"access": "public"
|
|
59
63
|
},
|
|
60
|
-
"gitHead": "
|
|
64
|
+
"gitHead": "b1d41d19a79b71045bf92dd6a5b8370a9f4f017c"
|
|
61
65
|
}
|
package/src/withTRPC.tsx
CHANGED
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
* Heavily based on urql's ssr
|
|
3
3
|
* https://github.com/FormidableLabs/urql/blob/main/packages/next-urql/src/with-urql-client.ts
|
|
4
4
|
*/
|
|
5
|
-
|
|
5
|
+
import type { CreateTRPCClientOptions } from '@trpc/client/src/internals/TRPCClient';
|
|
6
6
|
import {
|
|
7
|
-
|
|
8
|
-
createTRPCClient,
|
|
7
|
+
CreateReactQueryHooksOptions,
|
|
9
8
|
TRPCClient,
|
|
10
9
|
TRPCClientError,
|
|
11
10
|
TRPCClientErrorLike,
|
|
12
|
-
|
|
11
|
+
createReactQueryHooks,
|
|
12
|
+
createTRPCClient,
|
|
13
13
|
} from '@trpc/react';
|
|
14
14
|
import type { AnyRouter, Dict, Maybe, ResponseMeta } from '@trpc/server';
|
|
15
15
|
import {
|
|
@@ -18,10 +18,9 @@ import {
|
|
|
18
18
|
NextComponentType,
|
|
19
19
|
NextPageContext,
|
|
20
20
|
} from 'next/dist/shared/lib/utils';
|
|
21
|
-
import type { CreateTRPCClientOptions } from '@trpc/client/src/internals/TRPCClient';
|
|
22
21
|
import React, { createElement, useState } from 'react';
|
|
23
22
|
import { QueryClient, QueryClientProvider } from 'react-query';
|
|
24
|
-
import {
|
|
23
|
+
import { DehydratedState, Hydrate, dehydrate } from 'react-query';
|
|
25
24
|
import ssrPrepass from 'react-ssr-prepass';
|
|
26
25
|
|
|
27
26
|
type QueryClientConfig = ConstructorParameters<typeof QueryClient>[0];
|
|
@@ -80,7 +79,7 @@ export function withTRPC<TRouter extends AnyRouter>(
|
|
|
80
79
|
config: WithTRPCConfig<TRouter>;
|
|
81
80
|
queryClient: QueryClient;
|
|
82
81
|
trpcClient: TRPCClient<TRouter>;
|
|
83
|
-
|
|
82
|
+
ssrState: 'prepass';
|
|
84
83
|
ssrContext: NextPageContext;
|
|
85
84
|
};
|
|
86
85
|
return (AppOrPage: NextComponentType<any, any, any>): NextComponentType => {
|
|
@@ -91,7 +90,7 @@ export function withTRPC<TRouter extends AnyRouter>(
|
|
|
91
90
|
trpc?: TRPCPrepassProps;
|
|
92
91
|
},
|
|
93
92
|
) => {
|
|
94
|
-
const [{ queryClient, trpcClient,
|
|
93
|
+
const [{ queryClient, trpcClient, ssrState, ssrContext }] = useState(
|
|
95
94
|
() => {
|
|
96
95
|
if (props.trpc) {
|
|
97
96
|
return props.trpc;
|
|
@@ -102,7 +101,7 @@ export function withTRPC<TRouter extends AnyRouter>(
|
|
|
102
101
|
return {
|
|
103
102
|
queryClient,
|
|
104
103
|
trpcClient,
|
|
105
|
-
|
|
104
|
+
ssrState: opts.ssr ? ('mounting' as const) : (false as const),
|
|
106
105
|
ssrContext: null,
|
|
107
106
|
};
|
|
108
107
|
},
|
|
@@ -114,7 +113,7 @@ export function withTRPC<TRouter extends AnyRouter>(
|
|
|
114
113
|
<trpc.Provider
|
|
115
114
|
client={trpcClient}
|
|
116
115
|
queryClient={queryClient}
|
|
117
|
-
|
|
116
|
+
ssrState={ssrState}
|
|
118
117
|
ssrContext={ssrContext}
|
|
119
118
|
>
|
|
120
119
|
<QueryClientProvider client={queryClient}>
|
|
@@ -166,7 +165,7 @@ export function withTRPC<TRouter extends AnyRouter>(
|
|
|
166
165
|
config,
|
|
167
166
|
trpcClient,
|
|
168
167
|
queryClient,
|
|
169
|
-
|
|
168
|
+
ssrState: 'prepass',
|
|
170
169
|
ssrContext: ctx,
|
|
171
170
|
};
|
|
172
171
|
const prepassProps = {
|
|
@@ -230,9 +229,9 @@ export function withTRPC<TRouter extends AnyRouter>(
|
|
|
230
229
|
? [err as TRPCClientError<TRouter>]
|
|
231
230
|
: [],
|
|
232
231
|
),
|
|
233
|
-
})
|
|
232
|
+
}) || {};
|
|
234
233
|
|
|
235
|
-
for (const [key, value] of Object.entries(meta)) {
|
|
234
|
+
for (const [key, value] of Object.entries(meta.headers || {})) {
|
|
236
235
|
if (typeof value === 'string') {
|
|
237
236
|
ctx.res?.setHeader(key, value);
|
|
238
237
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"../../../src","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { AnyRouter } from '@trpc/server';
|
|
2
|
-
import { WithTRPCNoSSROptions, WithTRPCSSROptions } from './withTRPC';
|
|
3
|
-
export declare function setupTRPC<TRouter extends AnyRouter>(opts: WithTRPCNoSSROptions<TRouter> | WithTRPCSSROptions<TRouter>): {
|
|
4
|
-
useContext: () => import("@trpc/react").TRPCContextState<TRouter, unknown>;
|
|
5
|
-
useInfiniteQuery: <TPath_1 extends { [TPath in keyof TRouter["_def"]["queries"]]: import("@trpc/server").inferProcedureInput<TRouter["_def"]["queries"][TPath]> extends {
|
|
6
|
-
cursor?: any;
|
|
7
|
-
} ? TPath : never; }[keyof TRouter["_def"]["queries"]] & string>(pathAndInput: [path: TPath_1, input: Omit<{ [TPath_2 in keyof TRouter["_def"]["queries"]]: {
|
|
8
|
-
input: import("@trpc/server").inferProcedureInput<TRouter["_def"]["queries"][TPath_2]>;
|
|
9
|
-
output: import("@trpc/server").ThenArg<ReturnType<TRouter["_def"]["queries"][TPath_2]["call"]>>;
|
|
10
|
-
}; }[TPath_1]["input"], "cursor">], opts?: import("@trpc/react").UseTRPCInfiniteQueryOptions<TPath_1, Omit<{ [TPath_2 in keyof TRouter["_def"]["queries"]]: {
|
|
11
|
-
input: import("@trpc/server").inferProcedureInput<TRouter["_def"]["queries"][TPath_2]>;
|
|
12
|
-
output: import("@trpc/server").ThenArg<ReturnType<TRouter["_def"]["queries"][TPath_2]["call"]>>;
|
|
13
|
-
}; }[TPath_1]["input"], "cursor">, { [TPath_2 in keyof TRouter["_def"]["queries"]]: {
|
|
14
|
-
input: import("@trpc/server").inferProcedureInput<TRouter["_def"]["queries"][TPath_2]>;
|
|
15
|
-
output: import("@trpc/server").ThenArg<ReturnType<TRouter["_def"]["queries"][TPath_2]["call"]>>;
|
|
16
|
-
}; }[TPath_1]["output"], import("@trpc/react").TRPCClientErrorLike<TRouter>> | undefined) => import("react-query").UseInfiniteQueryResult<{ [TPath_2 in keyof TRouter["_def"]["queries"]]: {
|
|
17
|
-
input: import("@trpc/server").inferProcedureInput<TRouter["_def"]["queries"][TPath_2]>;
|
|
18
|
-
output: import("@trpc/server").ThenArg<ReturnType<TRouter["_def"]["queries"][TPath_2]["call"]>>;
|
|
19
|
-
}; }[TPath_1]["output"], import("@trpc/react").TRPCClientErrorLike<TRouter>>;
|
|
20
|
-
useMutation: <TPath_3 extends keyof TRouter["_def"]["mutations"] & string>(path: TPath_3 | [TPath_3], opts?: import("@trpc/react").UseTRPCMutationOptions<{ [TPath_4 in keyof TRouter["_def"]["mutations"]]: {
|
|
21
|
-
input: import("@trpc/server").inferProcedureInput<TRouter["_def"]["mutations"][TPath_4]>;
|
|
22
|
-
output: import("@trpc/server").ThenArg<ReturnType<TRouter["_def"]["mutations"][TPath_4]["call"]>>;
|
|
23
|
-
}; }[TPath_3]["input"], import("@trpc/react").TRPCClientErrorLike<TRouter>, { [TPath_4 in keyof TRouter["_def"]["mutations"]]: {
|
|
24
|
-
input: import("@trpc/server").inferProcedureInput<TRouter["_def"]["mutations"][TPath_4]>;
|
|
25
|
-
output: import("@trpc/server").ThenArg<ReturnType<TRouter["_def"]["mutations"][TPath_4]["call"]>>;
|
|
26
|
-
}; }[TPath_3]["output"]> | undefined) => import("react-query").UseMutationResult<{ [TPath_4 in keyof TRouter["_def"]["mutations"]]: {
|
|
27
|
-
input: import("@trpc/server").inferProcedureInput<TRouter["_def"]["mutations"][TPath_4]>;
|
|
28
|
-
output: import("@trpc/server").ThenArg<ReturnType<TRouter["_def"]["mutations"][TPath_4]["call"]>>;
|
|
29
|
-
}; }[TPath_3]["output"], import("@trpc/react").TRPCClientErrorLike<TRouter>, { [TPath_4 in keyof TRouter["_def"]["mutations"]]: {
|
|
30
|
-
input: import("@trpc/server").inferProcedureInput<TRouter["_def"]["mutations"][TPath_4]>;
|
|
31
|
-
output: import("@trpc/server").ThenArg<ReturnType<TRouter["_def"]["mutations"][TPath_4]["call"]>>;
|
|
32
|
-
}; }[TPath_3]["input"], unknown>;
|
|
33
|
-
useQuery: <TPath_5 extends keyof TRouter["_def"]["queries"] & string>(pathAndInput: [path: TPath_5, ...args: import("@trpc/server").inferHandlerInput<TRouter["_def"]["queries"][TPath_5]>], opts?: import("@trpc/react").UseTRPCQueryOptions<TPath_5, { [TPath_2 in keyof TRouter["_def"]["queries"]]: {
|
|
34
|
-
input: import("@trpc/server").inferProcedureInput<TRouter["_def"]["queries"][TPath_2]>;
|
|
35
|
-
output: import("@trpc/server").ThenArg<ReturnType<TRouter["_def"]["queries"][TPath_2]["call"]>>;
|
|
36
|
-
}; }[TPath_5]["input"], { [TPath_2 in keyof TRouter["_def"]["queries"]]: {
|
|
37
|
-
input: import("@trpc/server").inferProcedureInput<TRouter["_def"]["queries"][TPath_2]>;
|
|
38
|
-
output: import("@trpc/server").ThenArg<ReturnType<TRouter["_def"]["queries"][TPath_2]["call"]>>;
|
|
39
|
-
}; }[TPath_5]["output"], import("@trpc/react").TRPCClientErrorLike<TRouter>> | undefined) => import("react-query").UseQueryResult<{ [TPath_2 in keyof TRouter["_def"]["queries"]]: {
|
|
40
|
-
input: import("@trpc/server").inferProcedureInput<TRouter["_def"]["queries"][TPath_2]>;
|
|
41
|
-
output: import("@trpc/server").ThenArg<ReturnType<TRouter["_def"]["queries"][TPath_2]["call"]>>;
|
|
42
|
-
}; }[TPath_5]["output"], import("@trpc/react").TRPCClientErrorLike<TRouter>>;
|
|
43
|
-
useSubscription: <TPath_6 extends keyof TRouter["_def"]["subscriptions"] & string, TOutput extends ReturnType<import("@trpc/server").ThenArg<ReturnType<TRouter["_def"]["subscriptions"][TPath_6]["call"]>>["output"]>>(pathAndInput: [path: TPath_6, ...args: import("@trpc/server").inferHandlerInput<TRouter["_def"]["subscriptions"][TPath_6]>], opts: {
|
|
44
|
-
enabled?: boolean | undefined;
|
|
45
|
-
error?: ((err: import("@trpc/react").TRPCClientErrorLike<TRouter>) => void) | undefined;
|
|
46
|
-
next: (data: TOutput) => void;
|
|
47
|
-
}) => void;
|
|
48
|
-
withTRPC: (AppOrPage: import("next").NextComponentType<any, any, any>) => import("next").NextComponentType<import("next").NextPageContext, {}, {}>;
|
|
49
|
-
};
|
|
50
|
-
//# sourceMappingURL=setupNext.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setupNext.d.ts","sourceRoot":"../../../src","sources":["setupNext.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAY,MAAM,YAAY,CAAC;AAEhF,wBAAgB,SAAS,CAAC,OAAO,SAAS,SAAS,EACjD,IAAI,EAAE,oBAAoB,CAAC,OAAO,CAAC,GAAG,kBAAkB,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYlE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"withTRPC.d.ts","sourceRoot":"../../../src","sources":["withTRPC.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAIL,eAAe,EAEf,4BAA4B,EAC7B,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,SAAS,EAAe,YAAY,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAGL,iBAAiB,EACjB,eAAe,EAChB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAErF,OAAO,EAAE,WAAW,EAAuB,MAAM,aAAa,CAAC;AAI/D,aAAK,iBAAiB,GAAG,qBAAqB,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AAwBtE,oBAAY,cAAc,CAAC,OAAO,SAAS,SAAS,IAClD,uBAAuB,CAAC,OAAO,CAAC,GAAG;IACjC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC,CAAC;AAEJ,UAAU,eAAe,CAAC,OAAO,SAAS,SAAS,CACjD,SAAQ,4BAA4B;IACpC,MAAM,EAAE,CAAC,IAAI,EAAE;QAAE,GAAG,CAAC,EAAE,eAAe,CAAA;KAAE,KAAK,cAAc,CAAC,OAAO,CAAC,CAAC;CACtE;AAED,MAAM,WAAW,kBAAkB,CAAC,OAAO,SAAS,SAAS,CAC3D,SAAQ,eAAe,CAAC,OAAO,CAAC;IAChC,GAAG,EAAE,IAAI,CAAC;IACV,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE;QACpB,GAAG,EAAE,eAAe,CAAC;QACrB,YAAY,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;KAC1C,KAAK,YAAY,CAAC;CACpB;AACD,MAAM,WAAW,oBAAoB,CAAC,OAAO,SAAS,SAAS,CAC7D,SAAQ,eAAe,CAAC,OAAO,CAAC;IAChC,GAAG,CAAC,EAAE,KAAK,CAAC;CACb;AAED,wBAAgB,QAAQ,CAAC,OAAO,SAAS,SAAS,EAChD,IAAI,EAAE,oBAAoB,CAAC,OAAO,CAAC,GAAG,kBAAkB,CAAC,OAAO,CAAC,eAW9C,kBAAkB,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,KAAG,iBAAiB,CAsKxE"}
|
package/dist/trpc-next.cjs.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./declarations/src/index";
|
package/dist/trpc-next.cjs.js
DELETED
|
@@ -1,250 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
6
|
-
var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
|
|
7
|
-
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
8
|
-
var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
|
9
|
-
var _regeneratorRuntime = require('@babel/runtime/regenerator');
|
|
10
|
-
var react = require('@trpc/react');
|
|
11
|
-
var React = require('react');
|
|
12
|
-
var reactQuery = require('react-query');
|
|
13
|
-
var hydration = require('react-query/hydration');
|
|
14
|
-
var ssrPrepass = require('react-ssr-prepass');
|
|
15
|
-
|
|
16
|
-
function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
|
|
17
|
-
|
|
18
|
-
var _regeneratorRuntime__default = /*#__PURE__*/_interopDefault(_regeneratorRuntime);
|
|
19
|
-
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
20
|
-
var ssrPrepass__default = /*#__PURE__*/_interopDefault(ssrPrepass);
|
|
21
|
-
|
|
22
|
-
function transformQueryOrMutationCacheErrors(result) {
|
|
23
|
-
var error = result.state.error;
|
|
24
|
-
|
|
25
|
-
if (error instanceof Error && error.name === 'TRPCClientError') {
|
|
26
|
-
var newError = {
|
|
27
|
-
message: error.message,
|
|
28
|
-
data: error.data,
|
|
29
|
-
shape: error.shape
|
|
30
|
-
};
|
|
31
|
-
return _objectSpread(_objectSpread({}, result), {}, {
|
|
32
|
-
state: _objectSpread(_objectSpread({}, result.state), {}, {
|
|
33
|
-
error: newError
|
|
34
|
-
})
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
return result;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
function withTRPC(opts) {
|
|
42
|
-
var getClientConfig = opts.config;
|
|
43
|
-
return function (AppOrPage) {
|
|
44
|
-
var trpc = react.createReactQueryHooks(opts);
|
|
45
|
-
|
|
46
|
-
var WithTRPC = function WithTRPC(props) {
|
|
47
|
-
var _props$pageProps;
|
|
48
|
-
|
|
49
|
-
var _useState = React.useState(function () {
|
|
50
|
-
if (props.trpc) {
|
|
51
|
-
return props.trpc;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
var config = getClientConfig({});
|
|
55
|
-
var queryClient = new reactQuery.QueryClient(config.queryClientConfig);
|
|
56
|
-
var trpcClient = trpc.createClient(config);
|
|
57
|
-
return {
|
|
58
|
-
queryClient: queryClient,
|
|
59
|
-
trpcClient: trpcClient,
|
|
60
|
-
isPrepass: false,
|
|
61
|
-
ssrContext: null
|
|
62
|
-
};
|
|
63
|
-
}),
|
|
64
|
-
_useState2 = _slicedToArray(_useState, 1),
|
|
65
|
-
_useState2$ = _useState2[0],
|
|
66
|
-
queryClient = _useState2$.queryClient,
|
|
67
|
-
trpcClient = _useState2$.trpcClient,
|
|
68
|
-
isPrepass = _useState2$.isPrepass,
|
|
69
|
-
ssrContext = _useState2$.ssrContext;
|
|
70
|
-
|
|
71
|
-
var hydratedState = trpc.useDehydratedState((_props$pageProps = props.pageProps) === null || _props$pageProps === void 0 ? void 0 : _props$pageProps.trpcState);
|
|
72
|
-
return /*#__PURE__*/React__default['default'].createElement(trpc.Provider, {
|
|
73
|
-
client: trpcClient,
|
|
74
|
-
queryClient: queryClient,
|
|
75
|
-
isPrepass: isPrepass,
|
|
76
|
-
ssrContext: ssrContext
|
|
77
|
-
}, /*#__PURE__*/React__default['default'].createElement(reactQuery.QueryClientProvider, {
|
|
78
|
-
client: queryClient
|
|
79
|
-
}, /*#__PURE__*/React__default['default'].createElement(hydration.Hydrate, {
|
|
80
|
-
state: hydratedState
|
|
81
|
-
}, /*#__PURE__*/React__default['default'].createElement(AppOrPage, props))));
|
|
82
|
-
};
|
|
83
|
-
|
|
84
|
-
if (AppOrPage.getInitialProps || opts.ssr) {
|
|
85
|
-
WithTRPC.getInitialProps = /*#__PURE__*/function () {
|
|
86
|
-
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime__default['default'].mark(function _callee(appOrPageCtx) {
|
|
87
|
-
var _opts$responseMeta, _opts$responseMeta2;
|
|
88
|
-
|
|
89
|
-
var AppTree, isApp, ctx, pageProps, _originalProps$pagePr, originalProps, originalPageProps, getAppTreeProps, config, trpcClient, queryClient, trpcProp, prepassProps, dehydratedCache, dehydratedCacheWithErrors, appTreeProps, meta, _i, _Object$entries, _Object$entries$_i, key, value, _ctx$res;
|
|
90
|
-
|
|
91
|
-
return _regeneratorRuntime__default['default'].wrap(function _callee$(_context) {
|
|
92
|
-
while (1) {
|
|
93
|
-
switch (_context.prev = _context.next) {
|
|
94
|
-
case 0:
|
|
95
|
-
AppTree = appOrPageCtx.AppTree; // Determine if we are wrapping an App component or a Page component.
|
|
96
|
-
|
|
97
|
-
isApp = !!appOrPageCtx.Component;
|
|
98
|
-
ctx = isApp ? appOrPageCtx.ctx : appOrPageCtx; // Run the wrapped component's getInitialProps function.
|
|
99
|
-
|
|
100
|
-
pageProps = {};
|
|
101
|
-
|
|
102
|
-
if (!AppOrPage.getInitialProps) {
|
|
103
|
-
_context.next = 10;
|
|
104
|
-
break;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
_context.next = 7;
|
|
108
|
-
return AppOrPage.getInitialProps(appOrPageCtx);
|
|
109
|
-
|
|
110
|
-
case 7:
|
|
111
|
-
originalProps = _context.sent;
|
|
112
|
-
originalPageProps = isApp ? (_originalProps$pagePr = originalProps.pageProps) !== null && _originalProps$pagePr !== void 0 ? _originalProps$pagePr : {} : originalProps;
|
|
113
|
-
pageProps = _objectSpread(_objectSpread({}, originalPageProps), pageProps);
|
|
114
|
-
|
|
115
|
-
case 10:
|
|
116
|
-
getAppTreeProps = function getAppTreeProps(props) {
|
|
117
|
-
return isApp ? {
|
|
118
|
-
pageProps: props
|
|
119
|
-
} : props;
|
|
120
|
-
};
|
|
121
|
-
|
|
122
|
-
if (!(typeof window !== 'undefined' || !opts.ssr)) {
|
|
123
|
-
_context.next = 13;
|
|
124
|
-
break;
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
return _context.abrupt("return", getAppTreeProps(pageProps));
|
|
128
|
-
|
|
129
|
-
case 13:
|
|
130
|
-
config = getClientConfig({
|
|
131
|
-
ctx: ctx
|
|
132
|
-
});
|
|
133
|
-
trpcClient = react.createTRPCClient(config);
|
|
134
|
-
queryClient = new reactQuery.QueryClient(config.queryClientConfig);
|
|
135
|
-
trpcProp = {
|
|
136
|
-
config: config,
|
|
137
|
-
trpcClient: trpcClient,
|
|
138
|
-
queryClient: queryClient,
|
|
139
|
-
isPrepass: true,
|
|
140
|
-
ssrContext: ctx
|
|
141
|
-
};
|
|
142
|
-
prepassProps = {
|
|
143
|
-
pageProps: pageProps,
|
|
144
|
-
trpc: trpcProp
|
|
145
|
-
}; // Run the prepass step on AppTree. This will run all trpc queries on the server.
|
|
146
|
-
// multiple prepass ensures that we can do batching on the server
|
|
147
|
-
|
|
148
|
-
case 18:
|
|
149
|
-
|
|
150
|
-
_context.next = 21;
|
|
151
|
-
return ssrPrepass__default['default']( /*#__PURE__*/React.createElement(AppTree, prepassProps));
|
|
152
|
-
|
|
153
|
-
case 21:
|
|
154
|
-
if (queryClient.isFetching()) {
|
|
155
|
-
_context.next = 23;
|
|
156
|
-
break;
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
return _context.abrupt("break", 27);
|
|
160
|
-
|
|
161
|
-
case 23:
|
|
162
|
-
_context.next = 25;
|
|
163
|
-
return new Promise(function (resolve) {
|
|
164
|
-
var unsub = queryClient.getQueryCache().subscribe(function (event) {
|
|
165
|
-
if ((event === null || event === void 0 ? void 0 : event.query.getObserversCount()) === 0) {
|
|
166
|
-
resolve();
|
|
167
|
-
unsub();
|
|
168
|
-
}
|
|
169
|
-
});
|
|
170
|
-
});
|
|
171
|
-
|
|
172
|
-
case 25:
|
|
173
|
-
_context.next = 18;
|
|
174
|
-
break;
|
|
175
|
-
|
|
176
|
-
case 27:
|
|
177
|
-
dehydratedCache = hydration.dehydrate(queryClient, {
|
|
178
|
-
shouldDehydrateQuery: function shouldDehydrateQuery() {
|
|
179
|
-
// makes sure errors are also dehydrated
|
|
180
|
-
return true;
|
|
181
|
-
}
|
|
182
|
-
}); // since error instances can't be serialized, let's make them into `TRPCClientErrorLike`-objects
|
|
183
|
-
|
|
184
|
-
dehydratedCacheWithErrors = _objectSpread(_objectSpread({}, dehydratedCache), {}, {
|
|
185
|
-
queries: dehydratedCache.queries.map(transformQueryOrMutationCacheErrors),
|
|
186
|
-
mutations: dehydratedCache.mutations.map(transformQueryOrMutationCacheErrors)
|
|
187
|
-
}); // dehydrate query client's state and add it to the props
|
|
188
|
-
|
|
189
|
-
pageProps.trpcState = opts.transformer ? opts.transformer.serialize(dehydratedCacheWithErrors) : dehydratedCacheWithErrors;
|
|
190
|
-
appTreeProps = getAppTreeProps(pageProps);
|
|
191
|
-
meta = (_opts$responseMeta = (_opts$responseMeta2 = opts.responseMeta) === null || _opts$responseMeta2 === void 0 ? void 0 : _opts$responseMeta2.call(opts, {
|
|
192
|
-
ctx: ctx,
|
|
193
|
-
clientErrors: [].concat(_toConsumableArray(dehydratedCache.queries), _toConsumableArray(dehydratedCache.mutations)).map(function (v) {
|
|
194
|
-
return v.state.error;
|
|
195
|
-
}).flatMap(function (err) {
|
|
196
|
-
return err instanceof Error && err.name === 'TRPCClientError' ? [err] : [];
|
|
197
|
-
})
|
|
198
|
-
})) !== null && _opts$responseMeta !== void 0 ? _opts$responseMeta : {};
|
|
199
|
-
|
|
200
|
-
for (_i = 0, _Object$entries = Object.entries(meta); _i < _Object$entries.length; _i++) {
|
|
201
|
-
_Object$entries$_i = _slicedToArray(_Object$entries[_i], 2), key = _Object$entries$_i[0], value = _Object$entries$_i[1];
|
|
202
|
-
|
|
203
|
-
if (typeof value === 'string') {
|
|
204
|
-
(_ctx$res = ctx.res) === null || _ctx$res === void 0 ? void 0 : _ctx$res.setHeader(key, value);
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
if (meta.status && ctx.res) {
|
|
209
|
-
ctx.res.statusCode = meta.status;
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
return _context.abrupt("return", appTreeProps);
|
|
213
|
-
|
|
214
|
-
case 35:
|
|
215
|
-
case "end":
|
|
216
|
-
return _context.stop();
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
}, _callee);
|
|
220
|
-
}));
|
|
221
|
-
|
|
222
|
-
return function (_x) {
|
|
223
|
-
return _ref.apply(this, arguments);
|
|
224
|
-
};
|
|
225
|
-
}();
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
var displayName = AppOrPage.displayName || AppOrPage.name || 'Component';
|
|
229
|
-
WithTRPC.displayName = "withTRPC(".concat(displayName, ")");
|
|
230
|
-
return WithTRPC;
|
|
231
|
-
};
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
function setupTRPC(opts) {
|
|
235
|
-
var hooks = react.createReactQueryHooks(opts);
|
|
236
|
-
|
|
237
|
-
var _withTRPC = withTRPC(opts);
|
|
238
|
-
|
|
239
|
-
return {
|
|
240
|
-
useContext: hooks.useContext,
|
|
241
|
-
useInfiniteQuery: hooks.useInfiniteQuery,
|
|
242
|
-
useMutation: hooks.useMutation,
|
|
243
|
-
useQuery: hooks.useQuery,
|
|
244
|
-
useSubscription: hooks.useSubscription,
|
|
245
|
-
withTRPC: _withTRPC
|
|
246
|
-
};
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
exports.setupTRPC = setupTRPC;
|
|
250
|
-
exports.withTRPC = withTRPC;
|