@trpc/server 10.0.0-alpha.21 → 10.0.0-alpha.22
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/adapters/express/dist/trpc-server-adapters-express.cjs.dev.js +3 -3
- package/adapters/express/dist/trpc-server-adapters-express.cjs.prod.js +3 -3
- package/adapters/express/dist/trpc-server-adapters-express.esm.js +3 -3
- package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.dev.js +2 -2
- package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.prod.js +2 -2
- package/adapters/fastify/dist/trpc-server-adapters-fastify.esm.js +2 -2
- package/adapters/fastify/index.js +1 -1
- package/adapters/fetch/index.d.ts +1 -0
- package/adapters/fetch/index.js +1 -0
- package/adapters/next/dist/trpc-server-adapters-next.cjs.dev.js +3 -3
- package/adapters/next/dist/trpc-server-adapters-next.cjs.prod.js +3 -3
- package/adapters/next/dist/trpc-server-adapters-next.esm.js +3 -3
- package/adapters/node-http/dist/trpc-server-adapters-node-http.cjs.dev.js +3 -3
- package/adapters/node-http/dist/trpc-server-adapters-node-http.cjs.prod.js +3 -3
- package/adapters/node-http/dist/trpc-server-adapters-node-http.esm.js +3 -3
- package/adapters/standalone/dist/trpc-server-adapters-standalone.cjs.dev.js +3 -3
- package/adapters/standalone/dist/trpc-server-adapters-standalone.cjs.prod.js +3 -3
- package/adapters/standalone/dist/trpc-server-adapters-standalone.esm.js +3 -3
- package/dist/{transformTRPCResponse-9fdeecca.mjs → TRPCError-7971540a.mjs} +1 -53
- package/dist/{transformTRPCResponse-a57d3226.js → TRPCError-ddec3395.js} +0 -54
- package/dist/adapters/express.js +5 -4
- package/dist/adapters/express.mjs +5 -4
- package/dist/adapters/fastify/index.js +5 -5
- package/dist/adapters/fastify/index.mjs +5 -5
- package/dist/adapters/fetch/fetchRequestHandler.d.ts +8 -0
- package/dist/adapters/fetch/fetchRequestHandler.d.ts.map +1 -0
- package/dist/adapters/fetch/index.d.ts +3 -0
- package/dist/adapters/fetch/index.d.ts.map +1 -0
- package/dist/adapters/fetch/index.js +69 -0
- package/dist/adapters/fetch/index.mjs +65 -0
- package/dist/adapters/fetch/index.ts.js +1 -0
- package/dist/adapters/fetch/types.d.ts +21 -0
- package/dist/adapters/fetch/types.d.ts.map +1 -0
- package/dist/adapters/next.d.ts.map +1 -1
- package/dist/adapters/next.js +9 -9
- package/dist/adapters/next.mjs +8 -8
- package/dist/adapters/node-http/index.js +5 -4
- package/dist/adapters/node-http/index.mjs +5 -4
- package/dist/adapters/node-http/types.d.ts +1 -2
- package/dist/adapters/node-http/types.d.ts.map +1 -1
- package/dist/adapters/standalone.js +5 -4
- package/dist/adapters/standalone.mjs +5 -4
- package/dist/adapters/ws.d.ts.map +1 -1
- package/dist/adapters/ws.js +117 -80
- package/dist/adapters/ws.mjs +111 -74
- package/dist/{codes-6c13cf43.mjs → envelopes-1deb2fa7.mjs} +17 -1
- package/dist/{codes-4e4d55a9.js → envelopes-a953b930.js} +16 -0
- package/dist/http/resolveHTTPResponse.d.ts.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +37 -51
- package/dist/index.mjs +30 -42
- package/dist/internals/callProcedure.d.ts +2 -2
- package/dist/internals/callProcedure.d.ts.map +1 -1
- package/dist/internals/procedure.d.ts +4 -3
- package/dist/internals/procedure.d.ts.map +1 -1
- package/dist/internals/transformTRPCResponse.d.ts +4 -2
- package/dist/internals/transformTRPCResponse.d.ts.map +1 -1
- package/dist/{nodeHTTPRequestHandler-13c4bded.mjs → nodeHTTPRequestHandler-1cdb6383.mjs} +2 -2
- package/dist/{nodeHTTPRequestHandler-745e43e5.js → nodeHTTPRequestHandler-848f07b5.js} +3 -3
- package/dist/observable/index.d.ts +5 -0
- package/dist/observable/index.d.ts.map +1 -0
- package/dist/observable/index.js +204 -0
- package/dist/observable/index.mjs +195 -0
- package/dist/observable/index.ts.js +1 -0
- package/dist/observable/internals/identity.d.ts +2 -0
- package/dist/observable/internals/identity.d.ts.map +1 -0
- package/dist/observable/internals/observableToPromise.d.ts +10 -0
- package/dist/observable/internals/observableToPromise.d.ts.map +1 -0
- package/dist/observable/internals/pipe.d.ts +4 -0
- package/dist/observable/internals/pipe.d.ts.map +1 -0
- package/dist/observable/observable.d.ts +5 -0
- package/dist/observable/observable.d.ts.map +1 -0
- package/dist/observable/operators/index.d.ts +4 -0
- package/dist/observable/operators/index.d.ts.map +1 -0
- package/dist/observable/operators/map.d.ts +3 -0
- package/dist/observable/operators/map.d.ts.map +1 -0
- package/dist/observable/operators/share.d.ts +6 -0
- package/dist/observable/operators/share.d.ts.map +1 -0
- package/dist/observable/operators/tap.d.ts +3 -0
- package/dist/observable/operators/tap.d.ts.map +1 -0
- package/dist/observable/types.d.ts +29 -0
- package/dist/observable/types.d.ts.map +1 -0
- package/dist/observable-137ea1bd.mjs +105 -0
- package/dist/observable-3aa4d911.js +108 -0
- package/dist/{resolveHTTPResponse-de40fda7.mjs → resolveHTTPResponse-54a79e6c.mjs} +14 -20
- package/dist/{resolveHTTPResponse-b1167b6a.js → resolveHTTPResponse-ec3dccaa.js} +21 -27
- package/dist/router.d.ts +6 -6
- package/dist/router.d.ts.map +1 -1
- package/dist/rpc/envelopes.d.ts +61 -39
- package/dist/rpc/envelopes.d.ts.map +1 -1
- package/dist/rpc/index.js +7 -3
- package/dist/rpc/index.mjs +1 -1
- package/dist/subscription.d.ts +3 -52
- package/dist/subscription.d.ts.map +1 -1
- package/dist/subscription.js +44 -0
- package/dist/subscription.mjs +40 -0
- package/dist/subscription.ts.js +1 -0
- package/dist/transformTRPCResponse-333bed6c.js +56 -0
- package/dist/transformTRPCResponse-e0cba527.mjs +53 -0
- package/dist/types.d.ts +8 -0
- package/dist/types.d.ts.map +1 -1
- package/observable/index.d.ts +1 -0
- package/observable/index.js +1 -0
- package/package.json +24 -7
- package/rpc/dist/trpc-server-rpc.cjs.dev.js +1 -1
- package/rpc/dist/trpc-server-rpc.cjs.prod.js +1 -1
- package/rpc/dist/trpc-server-rpc.esm.js +1 -1
- package/src/adapters/fetch/fetchRequestHandler.ts +61 -0
- package/src/adapters/fetch/index.ts +2 -0
- package/src/adapters/fetch/types.ts +28 -0
- package/src/adapters/next.ts +3 -5
- package/src/adapters/node-http/types.ts +1 -2
- package/src/adapters/ws.ts +109 -71
- package/src/http/resolveHTTPResponse.ts +16 -20
- package/src/index.ts +0 -1
- package/src/internals/callProcedure.ts +6 -3
- package/src/internals/procedure.ts +40 -27
- package/src/internals/transformTRPCResponse.ts +20 -15
- package/src/observable/index.ts +4 -0
- package/src/observable/internals/identity.ts +3 -0
- package/src/observable/internals/observableToPromise.ts +49 -0
- package/src/observable/internals/pipe.ts +22 -0
- package/src/observable/observable.test.ts +101 -0
- package/src/observable/observable.ts +75 -0
- package/src/observable/operators/index.ts +3 -0
- package/src/observable/operators/map.test.ts +92 -0
- package/src/observable/operators/map.ts +25 -0
- package/src/observable/operators/share.test.ts +60 -0
- package/src/observable/operators/share.ts +67 -0
- package/src/observable/operators/tap.ts +26 -0
- package/src/observable/types.ts +69 -0
- package/src/router.ts +7 -9
- package/src/rpc/envelopes.ts +87 -68
- package/src/subscription.ts +5 -123
- package/src/types.ts +7 -0
- package/dist/internals/wrapCallSafe.d.ts +0 -16
- package/dist/internals/wrapCallSafe.d.ts.map +0 -1
- package/dist/subscription-4b936ba3.js +0 -136
- package/dist/subscription-8a85f253.mjs +0 -133
- package/src/internals/wrapCallSafe.ts +0 -19
- package/ws/dist/trpc-server-ws.cjs.d.ts +0 -1
- package/ws/dist/trpc-server-ws.cjs.dev.js +0 -15
- package/ws/dist/trpc-server-ws.cjs.js +0 -7
- package/ws/dist/trpc-server-ws.cjs.prod.js +0 -15
- package/ws/dist/trpc-server-ws.esm.js +0 -11
- package/ws/index.d.ts +0 -1
- package/ws/index.js +0 -1
package/dist/rpc/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { T as TRPC_ERROR_CODES_BY_KEY, a as TRPC_ERROR_CODES_BY_NUMBER } from '../
|
|
1
|
+
export { J as JSONRPC2, T as TRPC_ERROR_CODES_BY_KEY, a as TRPC_ERROR_CODES_BY_NUMBER } from '../envelopes-1deb2fa7.mjs';
|
package/dist/subscription.d.ts
CHANGED
|
@@ -1,58 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
import { EventEmitter } from 'events';
|
|
3
|
-
interface SubscriptionEvents<TOutput> {
|
|
4
|
-
data: (data: TOutput) => void;
|
|
5
|
-
destroy: () => void;
|
|
6
|
-
error: (error: Error) => void;
|
|
7
|
-
}
|
|
8
|
-
declare interface SubscriptionEventEmitter<TOutput> {
|
|
9
|
-
on<U extends keyof SubscriptionEvents<TOutput>>(event: U, listener: SubscriptionEvents<TOutput>[U]): this;
|
|
10
|
-
once<U extends keyof SubscriptionEvents<TOutput>>(event: U, listener: SubscriptionEvents<TOutput>[U]): this;
|
|
11
|
-
emit<U extends keyof SubscriptionEvents<TOutput>>(event: U, ...args: Parameters<SubscriptionEvents<TOutput>[U]>): boolean;
|
|
12
|
-
}
|
|
13
|
-
declare class SubscriptionEventEmitter<TOutput> extends EventEmitter {
|
|
14
|
-
}
|
|
15
|
-
declare type UnsubscribeFn = () => void;
|
|
16
|
-
declare type EmitFn<TOutput> = (data: TOutput) => void;
|
|
17
|
-
export declare type SubscriptionEmit<TOutput> = {
|
|
18
|
-
data: EmitFn<TOutput>;
|
|
19
|
-
error: EmitFn<Error>;
|
|
20
|
-
};
|
|
21
|
-
export declare type SubscriptionCallback<TOutput> = (emit: SubscriptionEmit<TOutput>) => UnsubscribeFn | Promise<UnsubscribeFn>;
|
|
22
|
-
/**
|
|
23
|
-
* @beta
|
|
24
|
-
*/
|
|
25
|
-
export declare class Subscription<TOutput = unknown> {
|
|
26
|
-
private readonly events;
|
|
27
|
-
private callback;
|
|
28
|
-
private isDestroyed;
|
|
29
|
-
constructor(callback: SubscriptionCallback<TOutput>);
|
|
30
|
-
destroy(): void;
|
|
31
|
-
start(): Promise<void>;
|
|
32
|
-
/**
|
|
33
|
-
* @deprecated This method is just here to help with `inferSubscriptionOutput` which I can't get working without it
|
|
34
|
-
*/
|
|
35
|
-
output(): TOutput;
|
|
36
|
-
/**
|
|
37
|
-
* Emit data
|
|
38
|
-
*/
|
|
39
|
-
emitOutput(data: TOutput): void;
|
|
40
|
-
/**
|
|
41
|
-
* Emit error
|
|
42
|
-
*/
|
|
43
|
-
emitError(err: Error): void;
|
|
44
|
-
on(...args: Parameters<SubscriptionEventEmitter<TOutput>['on']>): SubscriptionEventEmitter<TOutput>;
|
|
45
|
-
off(...args: Parameters<SubscriptionEventEmitter<TOutput>['off']>): SubscriptionEventEmitter<TOutput>;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* @alpha Might be removed
|
|
49
|
-
*/
|
|
1
|
+
import { Observable, Observer } from './observable';
|
|
50
2
|
export declare function subscriptionPullFactory<TOutput>(opts: {
|
|
51
3
|
/**
|
|
52
4
|
* The interval of how often the function should run
|
|
53
5
|
*/
|
|
54
6
|
intervalMs: number;
|
|
55
|
-
pull(emit:
|
|
56
|
-
}):
|
|
57
|
-
export {};
|
|
7
|
+
pull(emit: Observer<TOutput, unknown>): void | Promise<void>;
|
|
8
|
+
}): Observable<TOutput, unknown>;
|
|
58
9
|
//# sourceMappingURL=subscription.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscription.d.ts","sourceRoot":"","sources":["../src/subscription.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"subscription.d.ts","sourceRoot":"","sources":["../src/subscription.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAc,MAAM,cAAc,CAAC;AAEhE,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,IAAI,EAAE;IACrD;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9D,GAAG,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CA4B/B"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var TRPCError = require('./TRPCError-ddec3395.js');
|
|
6
|
+
var observable = require('./observable-3aa4d911.js');
|
|
7
|
+
|
|
8
|
+
function subscriptionPullFactory(opts) {
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
10
|
+
let timer;
|
|
11
|
+
let stopped = false;
|
|
12
|
+
|
|
13
|
+
async function _pull(emit) {
|
|
14
|
+
/* istanbul ignore next */
|
|
15
|
+
if (stopped) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
try {
|
|
20
|
+
await opts.pull(emit);
|
|
21
|
+
} catch (err
|
|
22
|
+
/* istanbul ignore next */
|
|
23
|
+
) {
|
|
24
|
+
emit.error(TRPCError.getErrorFromUnknown(err));
|
|
25
|
+
}
|
|
26
|
+
/* istanbul ignore else */
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
if (!stopped) {
|
|
30
|
+
timer = setTimeout(() => _pull(emit), opts.intervalMs);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
return observable.observable(emit => {
|
|
35
|
+
_pull(emit).catch(err => emit.error(TRPCError.getErrorFromUnknown(err)));
|
|
36
|
+
|
|
37
|
+
return () => {
|
|
38
|
+
clearTimeout(timer);
|
|
39
|
+
stopped = true;
|
|
40
|
+
};
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
exports.subscriptionPullFactory = subscriptionPullFactory;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { a as getErrorFromUnknown } from './TRPCError-7971540a.mjs';
|
|
2
|
+
import { o as observable } from './observable-137ea1bd.mjs';
|
|
3
|
+
|
|
4
|
+
function subscriptionPullFactory(opts) {
|
|
5
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6
|
+
let timer;
|
|
7
|
+
let stopped = false;
|
|
8
|
+
|
|
9
|
+
async function _pull(emit) {
|
|
10
|
+
/* istanbul ignore next */
|
|
11
|
+
if (stopped) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
try {
|
|
16
|
+
await opts.pull(emit);
|
|
17
|
+
} catch (err
|
|
18
|
+
/* istanbul ignore next */
|
|
19
|
+
) {
|
|
20
|
+
emit.error(getErrorFromUnknown(err));
|
|
21
|
+
}
|
|
22
|
+
/* istanbul ignore else */
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
if (!stopped) {
|
|
26
|
+
timer = setTimeout(() => _pull(emit), opts.intervalMs);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
return observable(emit => {
|
|
31
|
+
_pull(emit).catch(err => emit.error(getErrorFromUnknown(err)));
|
|
32
|
+
|
|
33
|
+
return () => {
|
|
34
|
+
clearTimeout(timer);
|
|
35
|
+
stopped = true;
|
|
36
|
+
};
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export { subscriptionPullFactory };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
async function callProcedure(opts) {
|
|
4
|
+
const {
|
|
5
|
+
type,
|
|
6
|
+
path,
|
|
7
|
+
input
|
|
8
|
+
} = opts;
|
|
9
|
+
const caller = opts.router.createCaller(opts.ctx);
|
|
10
|
+
|
|
11
|
+
if (type === 'query') {
|
|
12
|
+
return caller.query(path, input);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
if (type === 'mutation') {
|
|
16
|
+
return caller.mutation(path, input);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
if (type === 'subscription') {
|
|
20
|
+
const sub = await caller.subscription(path, input);
|
|
21
|
+
return sub;
|
|
22
|
+
}
|
|
23
|
+
/* istanbul ignore next */
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
throw new Error(`Unknown procedure type ${type}`);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
function transformTRPCResponseItem(router, item) {
|
|
30
|
+
if ('error' in item) {
|
|
31
|
+
return { ...item,
|
|
32
|
+
error: router._def.transformer.output.serialize(item.error)
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
if ('data' in item.result) {
|
|
37
|
+
return { ...item,
|
|
38
|
+
result: { ...item.result,
|
|
39
|
+
data: router._def.transformer.output.serialize(item.result.data)
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
return item;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Takes a unserialized `TRPCResponse` and serializes it with the router's transformers
|
|
48
|
+
**/
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
function transformTRPCResponse(router, itemOrItems) {
|
|
52
|
+
return Array.isArray(itemOrItems) ? itemOrItems.map(item => transformTRPCResponseItem(router, item)) : transformTRPCResponseItem(router, itemOrItems);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
exports.callProcedure = callProcedure;
|
|
56
|
+
exports.transformTRPCResponse = transformTRPCResponse;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
async function callProcedure(opts) {
|
|
2
|
+
const {
|
|
3
|
+
type,
|
|
4
|
+
path,
|
|
5
|
+
input
|
|
6
|
+
} = opts;
|
|
7
|
+
const caller = opts.router.createCaller(opts.ctx);
|
|
8
|
+
|
|
9
|
+
if (type === 'query') {
|
|
10
|
+
return caller.query(path, input);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
if (type === 'mutation') {
|
|
14
|
+
return caller.mutation(path, input);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
if (type === 'subscription') {
|
|
18
|
+
const sub = await caller.subscription(path, input);
|
|
19
|
+
return sub;
|
|
20
|
+
}
|
|
21
|
+
/* istanbul ignore next */
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
throw new Error(`Unknown procedure type ${type}`);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
function transformTRPCResponseItem(router, item) {
|
|
28
|
+
if ('error' in item) {
|
|
29
|
+
return { ...item,
|
|
30
|
+
error: router._def.transformer.output.serialize(item.error)
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
if ('data' in item.result) {
|
|
35
|
+
return { ...item,
|
|
36
|
+
result: { ...item.result,
|
|
37
|
+
data: router._def.transformer.output.serialize(item.result.data)
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
return item;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Takes a unserialized `TRPCResponse` and serializes it with the router's transformers
|
|
46
|
+
**/
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
function transformTRPCResponse(router, itemOrItems) {
|
|
50
|
+
return Array.isArray(itemOrItems) ? itemOrItems.map(item => transformTRPCResponseItem(router, item)) : transformTRPCResponseItem(router, itemOrItems);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export { callProcedure as c, transformTRPCResponse as t };
|
package/dist/types.d.ts
CHANGED
|
@@ -30,4 +30,12 @@ export declare type ThenArg<T> = T extends PromiseLike<infer U> ? ThenArg<U> : T
|
|
|
30
30
|
* @public
|
|
31
31
|
*/
|
|
32
32
|
export declare type Dict<T> = Record<string, T | undefined>;
|
|
33
|
+
/**
|
|
34
|
+
* @internal
|
|
35
|
+
* Creates a "lower-priority" type inference.
|
|
36
|
+
* https://github.com/microsoft/TypeScript/issues/14829#issuecomment-322267089
|
|
37
|
+
*/
|
|
38
|
+
export declare type InferLast<T> = T & {
|
|
39
|
+
[K in keyof T]: T[K];
|
|
40
|
+
};
|
|
33
41
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,oBAAY,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;AAEpE;;GAEG;AACH,oBAAY,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;AAE5B;;GAEG;AACH,oBAAY,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC;KAClC,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GACvC,CAAC,CAAC,CAAC,CAAC,GACJ,CAAC,SAAS,MAAM,CAAC,GACjB,CAAC,CAAC,CAAC,CAAC,GACJ,KAAK;CACV,CAAC,CAAC;AAEH;;GAEG;AACH,oBAAY,QAAQ,CAClB,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAChC,OAAO,SAAS,MAAM,IACpB;KACD,CAAC,IAAI,MAAM,IAAI,IAAI,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;CAC1D,CAAC;AAEF;;GAEG;AACH,oBAAY,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;AAE5C;;GAEG;AACH,oBAAY,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAEzE;;GAEG;AACH,oBAAY,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,oBAAY,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;AAEpE;;GAEG;AACH,oBAAY,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;AAE5B;;GAEG;AACH,oBAAY,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC;KAClC,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GACvC,CAAC,CAAC,CAAC,CAAC,GACJ,CAAC,SAAS,MAAM,CAAC,GACjB,CAAC,CAAC,CAAC,CAAC,GACJ,KAAK;CACV,CAAC,CAAC;AAEH;;GAEG;AACH,oBAAY,QAAQ,CAClB,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAChC,OAAO,SAAS,MAAM,IACpB;KACD,CAAC,IAAI,MAAM,IAAI,IAAI,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;CAC1D,CAAC;AAEF;;GAEG;AACH,oBAAY,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;AAE5C;;GAEG;AACH,oBAAY,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAEzE;;GAEG;AACH,oBAAY,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;AAEpD;;;;GAIG;AACH,oBAAY,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '../dist/observable';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require('../dist/observable/index');
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trpc/server",
|
|
3
|
-
"version": "10.0.0-alpha.
|
|
3
|
+
"version": "10.0.0-alpha.22",
|
|
4
4
|
"description": "tRPC Server",
|
|
5
5
|
"author": "KATT",
|
|
6
6
|
"license": "MIT",
|
|
@@ -62,41 +62,58 @@
|
|
|
62
62
|
"require": "./dist/adapters/ws.js",
|
|
63
63
|
"default": "./dist/adapters/ws.js"
|
|
64
64
|
},
|
|
65
|
+
"./adapters/fetch": {
|
|
66
|
+
"import": "./dist/adapters/fetch/index.mjs",
|
|
67
|
+
"require": "./dist/adapters/fetch/index.js",
|
|
68
|
+
"default": "./dist/adapters/fetch/index.js"
|
|
69
|
+
},
|
|
65
70
|
"./rpc": {
|
|
66
71
|
"import": "./dist/rpc/index.mjs",
|
|
67
72
|
"require": "./dist/rpc/index.js",
|
|
68
73
|
"default": "./dist/rpc/index.js"
|
|
74
|
+
},
|
|
75
|
+
"./observable": {
|
|
76
|
+
"import": "./dist/observable/index.mjs",
|
|
77
|
+
"require": "./dist/observable/index.js",
|
|
78
|
+
"default": "./dist/observable/index.js"
|
|
79
|
+
},
|
|
80
|
+
"./subscription": {
|
|
81
|
+
"import": "./dist/subscription.mjs",
|
|
82
|
+
"require": "./dist/subscription.js",
|
|
83
|
+
"default": "./dist/subscription.js"
|
|
69
84
|
}
|
|
70
85
|
},
|
|
71
86
|
"files": [
|
|
72
87
|
"README.md",
|
|
73
88
|
"dist",
|
|
74
89
|
"adapters",
|
|
75
|
-
"ws",
|
|
76
90
|
"rpc",
|
|
91
|
+
"observable",
|
|
77
92
|
"src"
|
|
78
93
|
],
|
|
79
94
|
"publishConfig": {
|
|
80
95
|
"access": "public"
|
|
81
96
|
},
|
|
82
97
|
"devDependencies": {
|
|
83
|
-
"@
|
|
84
|
-
"@
|
|
85
|
-
"@testing-library/user-event": "^13.2.1",
|
|
98
|
+
"@cloudflare/workers-types": "^3.8.0",
|
|
99
|
+
"@miniflare/core": "^2.4.0",
|
|
86
100
|
"@types/express": "^4.17.12",
|
|
87
101
|
"@types/hash-sum": "^1.0.0",
|
|
88
102
|
"@types/ws": "^8.2.0",
|
|
89
103
|
"abort-controller": "^3.0.0",
|
|
90
104
|
"devalue": "^2.0.1",
|
|
105
|
+
"esbuild": "^0.14.38",
|
|
91
106
|
"express": "^4.17.1",
|
|
92
107
|
"fastify": "^3.27.1",
|
|
93
108
|
"fastify-plugin": "^3.0.1",
|
|
94
109
|
"fastify-websocket": "^4.0.0",
|
|
95
110
|
"hash-sum": "^2.0.0",
|
|
96
111
|
"jest": "^27.1.0",
|
|
112
|
+
"jest-environment-miniflare": "^2.4.0",
|
|
97
113
|
"konn": "^0.7.0",
|
|
114
|
+
"miniflare": "^2.4.0",
|
|
98
115
|
"myzod": "^1.3.1",
|
|
99
|
-
"next": "^12.
|
|
116
|
+
"next": "^12.1.6",
|
|
100
117
|
"node-fetch": "^2.6.1",
|
|
101
118
|
"superstruct": "^0.15.2",
|
|
102
119
|
"typescript": "4.4.4",
|
|
@@ -107,5 +124,5 @@
|
|
|
107
124
|
"dependencies": {
|
|
108
125
|
"tslib": "^2.1.0"
|
|
109
126
|
},
|
|
110
|
-
"gitHead": "
|
|
127
|
+
"gitHead": "d720eb2215f0fad6e70f4172a1bf084225d4d6de"
|
|
111
128
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { T as TRPC_ERROR_CODES_BY_KEY, a as TRPC_ERROR_CODES_BY_NUMBER } from '../../dist/codes-
|
|
1
|
+
export { T as TRPC_ERROR_CODES_BY_KEY, a as TRPC_ERROR_CODES_BY_NUMBER } from '../../dist/codes-5678cc97.esm.js';
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { assertNotBrowser } from '../../assertNotBrowser';
|
|
2
|
+
import { HTTPRequest } from '../../http/internals/types';
|
|
3
|
+
import { resolveHTTPResponse } from '../../http/resolveHTTPResponse';
|
|
4
|
+
import { AnyRouter } from '../../router';
|
|
5
|
+
import { FetchHandlerOptions } from './types';
|
|
6
|
+
|
|
7
|
+
assertNotBrowser();
|
|
8
|
+
|
|
9
|
+
export type FetchHandlerRequestOptions<TRouter extends AnyRouter> = {
|
|
10
|
+
req: Request;
|
|
11
|
+
endpoint: string;
|
|
12
|
+
} & FetchHandlerOptions<TRouter>;
|
|
13
|
+
|
|
14
|
+
export async function fetchRequestHandler<TRouter extends AnyRouter>(
|
|
15
|
+
opts: FetchHandlerRequestOptions<TRouter>,
|
|
16
|
+
): Promise<Response> {
|
|
17
|
+
const createContext = async () => {
|
|
18
|
+
return opts.createContext?.({ req: opts.req });
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const url = new URL(opts.req.url);
|
|
22
|
+
const path = url.pathname.slice(opts.endpoint.length + 1);
|
|
23
|
+
const req: HTTPRequest = {
|
|
24
|
+
query: url.searchParams,
|
|
25
|
+
method: opts.req.method,
|
|
26
|
+
headers: Object.fromEntries(opts.req.headers),
|
|
27
|
+
body: await opts.req.text(),
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
const result = await resolveHTTPResponse({
|
|
31
|
+
req,
|
|
32
|
+
createContext,
|
|
33
|
+
path,
|
|
34
|
+
router: opts.router,
|
|
35
|
+
batching: opts.batching,
|
|
36
|
+
responseMeta: opts.responseMeta,
|
|
37
|
+
onError(o) {
|
|
38
|
+
opts?.onError?.({ ...o, req: opts.req });
|
|
39
|
+
},
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
const res = new Response(result.body, {
|
|
43
|
+
status: result.status,
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
for (const [key, value] of Object.entries(result.headers ?? {})) {
|
|
47
|
+
if (typeof value === 'undefined') {
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
if (typeof value === 'string') {
|
|
52
|
+
res.headers.set(key, value);
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
for (const v of value) {
|
|
57
|
+
res.headers.append(key, v);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return res;
|
|
61
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { HTTPBaseHandlerOptions } from '../../http/internals/types';
|
|
2
|
+
import { AnyRouter, inferRouterContext } from '../../router';
|
|
3
|
+
|
|
4
|
+
export type FetchCreateContextFnOptions = {
|
|
5
|
+
req: Request;
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
export type FetchCreateContextFn<TRouter extends AnyRouter> = (opts: {
|
|
9
|
+
req: Request;
|
|
10
|
+
}) => inferRouterContext<TRouter> | Promise<inferRouterContext<TRouter>>;
|
|
11
|
+
|
|
12
|
+
export type FetchCreateContextOption<TRouter extends AnyRouter> =
|
|
13
|
+
unknown extends inferRouterContext<TRouter>
|
|
14
|
+
? {
|
|
15
|
+
/**
|
|
16
|
+
* @link https://trpc.io/docs/context
|
|
17
|
+
**/
|
|
18
|
+
createContext?: FetchCreateContextFn<TRouter>;
|
|
19
|
+
}
|
|
20
|
+
: {
|
|
21
|
+
/**
|
|
22
|
+
* @link https://trpc.io/docs/context
|
|
23
|
+
**/
|
|
24
|
+
createContext: FetchCreateContextFn<TRouter>;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
export type FetchHandlerOptions<TRouter extends AnyRouter> =
|
|
28
|
+
HTTPBaseHandlerOptions<TRouter, Request> & FetchCreateContextOption<TRouter>;
|
package/src/adapters/next.ts
CHANGED
|
@@ -7,7 +7,6 @@ import type {
|
|
|
7
7
|
} from 'next/types';
|
|
8
8
|
import { TRPCError } from '../TRPCError';
|
|
9
9
|
import { AnyRouter } from '../router';
|
|
10
|
-
import { TRPCErrorResponse } from '../rpc';
|
|
11
10
|
import { nodeHTTPRequestHandler } from './node-http';
|
|
12
11
|
import {
|
|
13
12
|
NodeHTTPCreateContextFnOptions,
|
|
@@ -46,12 +45,11 @@ export function createNextApiHandler<TRouter extends AnyRouter>(
|
|
|
46
45
|
path: undefined,
|
|
47
46
|
input: undefined,
|
|
48
47
|
});
|
|
49
|
-
|
|
48
|
+
res.statusCode = 500;
|
|
49
|
+
res.json({
|
|
50
50
|
id: -1,
|
|
51
51
|
error,
|
|
52
|
-
};
|
|
53
|
-
res.statusCode = 500;
|
|
54
|
-
res.json(json);
|
|
52
|
+
});
|
|
55
53
|
return;
|
|
56
54
|
}
|
|
57
55
|
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { IncomingMessage, ServerResponse } from 'http';
|
|
2
2
|
import qs from 'qs';
|
|
3
|
-
import { inferRouterContext } from '../..';
|
|
4
3
|
import { HTTPBaseHandlerOptions } from '../../http/internals/types';
|
|
5
|
-
import { AnyRouter } from '../../router';
|
|
4
|
+
import { AnyRouter, inferRouterContext } from '../../router';
|
|
6
5
|
|
|
7
6
|
export type NodeHTTPRequest = IncomingMessage & {
|
|
8
7
|
method?: string;
|