FRE-600: Fix code review blockers

- Consolidated duplicate UndoManagers to single instance
- Fixed connection promise to only resolve on 'connected' status
- Fixed WebSocketProvider import (WebsocketProvider)
- Added proper doc.destroy() cleanup
- Renamed isPresenceInitialized property to avoid conflict

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
2026-04-25 00:08:01 -04:00
parent 65b552bb08
commit 7c684a42cc
48450 changed files with 5679671 additions and 383 deletions

View File

@@ -0,0 +1,272 @@
const require_getErrorShape = require('../../getErrorShape-MR4DZeb7.cjs');
require('../../codes-BfZsPdy-.cjs');
require('../../tracked-Dj_dpOJE.cjs');
const require_resolveResponse = require('../../resolveResponse-B0CCg8nq.cjs');
require('../../observable-B1Nk6r1H.cjs');
const node_stream = require_getErrorShape.__toESM(require("node:stream"));
const node_stream_promises = require_getErrorShape.__toESM(require("node:stream/promises"));
//#region src/vendor/cookie-es/set-cookie/split.ts
/**
* Based on https://github.com/unjs/cookie-es/tree/v1.2.2
* MIT License
*
* Cookie-es copyright (c) Pooya Parsa <pooya@pi0.io>
* Set-Cookie parsing based on https://github.com/nfriedly/set-cookie-parser
* Copyright (c) 2015 Nathan Friedly <nathan@nfriedly.com> (http://nfriedly.com/)
*
* @see https://github.com/unjs/cookie-es/blob/main/src/set-cookie/split.ts
*/
/**
* Set-Cookie header field-values are sometimes comma joined in one string. This splits them without choking on commas
* that are within a single set-cookie field-value, such as in the Expires portion.
*
* See https://tools.ietf.org/html/rfc2616#section-4.2
*/
function splitSetCookieString(cookiesString) {
if (Array.isArray(cookiesString)) return cookiesString.flatMap((c) => splitSetCookieString(c));
if (typeof cookiesString !== "string") return [];
const cookiesStrings = [];
let pos = 0;
let start;
let ch;
let lastComma;
let nextStart;
let cookiesSeparatorFound;
const skipWhitespace = () => {
while (pos < cookiesString.length && /\s/.test(cookiesString.charAt(pos))) pos += 1;
return pos < cookiesString.length;
};
const notSpecialChar = () => {
ch = cookiesString.charAt(pos);
return ch !== "=" && ch !== ";" && ch !== ",";
};
while (pos < cookiesString.length) {
start = pos;
cookiesSeparatorFound = false;
while (skipWhitespace()) {
ch = cookiesString.charAt(pos);
if (ch === ",") {
lastComma = pos;
pos += 1;
skipWhitespace();
nextStart = pos;
while (pos < cookiesString.length && notSpecialChar()) pos += 1;
if (pos < cookiesString.length && cookiesString.charAt(pos) === "=") {
cookiesSeparatorFound = true;
pos = nextStart;
cookiesStrings.push(cookiesString.slice(start, lastComma));
start = pos;
} else pos = lastComma + 1;
} else pos += 1;
}
if (!cookiesSeparatorFound || pos >= cookiesString.length) cookiesStrings.push(cookiesString.slice(start));
}
return cookiesStrings;
}
//#endregion
//#region src/adapters/aws-lambda/getPlanner.ts
var import_objectSpread2$1 = require_getErrorShape.__toESM(require_getErrorShape.require_objectSpread2(), 1);
function determinePayloadFormat(event) {
const unknownEvent = event;
if (typeof unknownEvent.version === "undefined") return "1.0";
else return unknownEvent.version;
}
function getHeadersAndCookiesFromResponse(response) {
const headers = Object.fromEntries(response.headers.entries());
const cookies = splitSetCookieString(response.headers.getSetCookie()).map((cookie) => cookie.trim());
delete headers["set-cookie"];
return {
headers,
cookies
};
}
const v1Processor = {
getTRPCPath: (event) => {
if (!event.pathParameters) {
var _event$path$split$pop;
return (_event$path$split$pop = event.path.split("/").pop()) !== null && _event$path$split$pop !== void 0 ? _event$path$split$pop : "";
}
const matches = event.resource.matchAll(new RegExp("\\{(.*?)\\}", "g"));
for (const match of matches) {
const group = match[1];
if (group.includes("+") && event.pathParameters) {
var _event$pathParameters;
return (_event$pathParameters = event.pathParameters[group.replace("+", "")]) !== null && _event$pathParameters !== void 0 ? _event$pathParameters : "";
}
}
return event.path.slice(1);
},
url(event) {
var _ref, _ref2, _event$requestContext, _event$multiValueHead, _event$queryStringPar;
const hostname = (_ref = (_ref2 = (_event$requestContext = event.requestContext.domainName) !== null && _event$requestContext !== void 0 ? _event$requestContext : event.headers["host"]) !== null && _ref2 !== void 0 ? _ref2 : (_event$multiValueHead = event.multiValueHeaders) === null || _event$multiValueHead === void 0 || (_event$multiValueHead = _event$multiValueHead["host"]) === null || _event$multiValueHead === void 0 ? void 0 : _event$multiValueHead[0]) !== null && _ref !== void 0 ? _ref : "localhost";
const searchParams = new URLSearchParams();
for (const [key, value] of Object.entries((_event$queryStringPar = event.queryStringParameters) !== null && _event$queryStringPar !== void 0 ? _event$queryStringPar : {})) if (value !== void 0) searchParams.append(key, value);
const qs = searchParams.toString();
return {
hostname,
pathname: event.path,
search: qs && `?${qs}`
};
},
getHeaders: (event) => {
var _event$multiValueHead2, _event$headers;
const headers = new Headers();
for (const [k, values] of Object.entries((_event$multiValueHead2 = event.multiValueHeaders) !== null && _event$multiValueHead2 !== void 0 ? _event$multiValueHead2 : {})) if (values) values.forEach((v) => headers.append(k, v));
for (const [key, value] of Object.entries((_event$headers = event.headers) !== null && _event$headers !== void 0 ? _event$headers : {})) if (value !== void 0 && !headers.has(key)) headers.append(key, value);
return headers;
},
getMethod: (event) => event.httpMethod,
toResult: async (response) => {
const { headers, cookies } = getHeadersAndCookiesFromResponse(response);
const result = (0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, cookies.length && { multiValueHeaders: { "set-cookie": cookies } }), {}, {
statusCode: response.status,
body: await response.text(),
headers
});
return result;
},
toStream: async (response, stream) => {
const { headers, cookies } = getHeadersAndCookiesFromResponse(response);
const metadata = {
statusCode: response.status,
headers,
cookies
};
const responseStream = awslambda.HttpResponseStream.from(stream, metadata);
if (response.body) await (0, node_stream_promises.pipeline)(node_stream.Readable.fromWeb(response.body), responseStream);
else responseStream.end();
}
};
const v2Processor = {
getTRPCPath: (event) => {
const matches = event.routeKey.matchAll(new RegExp("\\{(.*?)\\}", "g"));
for (const match of matches) {
const group = match[1];
if (group.includes("+") && event.pathParameters) {
var _event$pathParameters2;
return (_event$pathParameters2 = event.pathParameters[group.replace("+", "")]) !== null && _event$pathParameters2 !== void 0 ? _event$pathParameters2 : "";
}
}
return event.rawPath.slice(1);
},
url(event) {
return {
hostname: event.requestContext.domainName,
pathname: event.rawPath,
search: event.rawQueryString && `?${event.rawQueryString}`
};
},
getHeaders: (event) => {
var _event$headers2;
const headers = new Headers();
for (const [key, value] of Object.entries((_event$headers2 = event.headers) !== null && _event$headers2 !== void 0 ? _event$headers2 : {})) if (value !== void 0) headers.append(key, value);
if (event.cookies) headers.append("cookie", event.cookies.join("; "));
return headers;
},
getMethod: (event) => event.requestContext.http.method,
toResult: async (response) => {
const { headers, cookies } = getHeadersAndCookiesFromResponse(response);
const result = {
cookies,
statusCode: response.status,
body: await response.text(),
headers
};
return result;
},
toStream: async (response, stream) => {
const { headers, cookies } = getHeadersAndCookiesFromResponse(response);
const metadata = {
statusCode: response.status,
headers,
cookies
};
const responseStream = awslambda.HttpResponseStream.from(stream, metadata);
if (response.body) await (0, node_stream_promises.pipeline)(node_stream.Readable.fromWeb(response.body), responseStream);
else responseStream.end();
}
};
function getPlanner(event) {
const version = determinePayloadFormat(event);
let processor;
switch (version) {
case "1.0":
processor = v1Processor;
break;
case "2.0":
processor = v2Processor;
break;
default: throw new Error(`Unsupported version: ${version}`);
}
const urlParts = processor.url(event);
const url = `https://${urlParts.hostname}${urlParts.pathname}${urlParts.search}`;
const init = {
headers: processor.getHeaders(event),
method: processor.getMethod(event),
duplex: "half"
};
if (event.body) init.body = event.isBase64Encoded ? Buffer.from(event.body, "base64") : event.body;
const request = new Request(url, init);
return {
path: processor.getTRPCPath(event),
request,
toResult: processor.toResult,
toStream: processor.toStream
};
}
//#endregion
//#region src/adapters/aws-lambda/index.ts
var import_objectSpread2 = require_getErrorShape.__toESM(require_getErrorShape.require_objectSpread2(), 1);
function awsLambdaRequestHandler(opts) {
return async (event, context) => {
const planner = getPlanner(event);
const createContext = async (innerOpts) => {
var _opts$createContext;
return await ((_opts$createContext = opts.createContext) === null || _opts$createContext === void 0 ? void 0 : _opts$createContext.call(opts, (0, import_objectSpread2.default)({
event,
context
}, innerOpts)));
};
const response = await require_resolveResponse.resolveResponse((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, opts), {}, {
createContext,
req: planner.request,
path: planner.path,
error: null,
onError(o) {
var _opts$onError;
opts === null || opts === void 0 || (_opts$onError = opts.onError) === null || _opts$onError === void 0 || _opts$onError.call(opts, (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, o), {}, { req: event }));
}
}));
return await planner.toResult(response);
};
}
function awsLambdaStreamingRequestHandler(opts) {
return async (event, responseStream, context) => {
const planner = getPlanner(event);
const createContext = async (innerOpts) => {
var _opts$createContext2;
return await ((_opts$createContext2 = opts.createContext) === null || _opts$createContext2 === void 0 ? void 0 : _opts$createContext2.call(opts, (0, import_objectSpread2.default)({
event,
context
}, innerOpts)));
};
const response = await require_resolveResponse.resolveResponse((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, opts), {}, {
createContext,
req: planner.request,
path: planner.path,
error: null,
onError(o) {
var _opts$onError2;
opts === null || opts === void 0 || (_opts$onError2 = opts.onError) === null || _opts$onError2 === void 0 || _opts$onError2.call(opts, (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, o), {}, { req: event }));
}
}));
await planner.toStream(response, responseStream);
};
}
//#endregion
exports.awsLambdaRequestHandler = awsLambdaRequestHandler;
exports.awsLambdaStreamingRequestHandler = awsLambdaStreamingRequestHandler;

View File

@@ -0,0 +1,31 @@
import "../../index.d-BiUz7kM_.cjs";
import { AnyRouter, CreateContextCallback, HTTPBaseHandlerOptions, TRPCRequestInfo, inferRouterContext } from "../../unstable-core-do-not-import.d-Dm2ii-ih.cjs";
import "../../index.d-CvZXeEyR.cjs";
import { APIGatewayProxyEvent, APIGatewayProxyEventV2, APIGatewayProxyResult, APIGatewayProxyStructuredResultV2, Context, StreamifyHandler } from "aws-lambda";
//#region src/adapters/aws-lambda/getPlanner.d.ts
type LambdaEvent = APIGatewayProxyEvent | APIGatewayProxyEventV2;
/** 1:1 mapping of v1 or v2 input events, deduces which is which.
* @internal
**/
type inferAPIGWReturn<TEvent> = TEvent extends APIGatewayProxyEvent ? APIGatewayProxyResult : TEvent extends APIGatewayProxyEventV2 ? APIGatewayProxyStructuredResultV2 : never;
//#endregion
//#region src/adapters/aws-lambda/index.d.ts
type CreateAWSLambdaContextOptions<TEvent extends LambdaEvent> = {
event: TEvent;
context: Context;
info: TRPCRequestInfo;
};
type AWSLambdaOptions<TRouter extends AnyRouter, TEvent extends LambdaEvent> = HTTPBaseHandlerOptions<TRouter, TEvent> & CreateContextCallback<inferRouterContext<AnyRouter>, AWSLambdaCreateContextFn<TRouter, TEvent>>;
type AWSLambdaCreateContextFn<TRouter extends AnyRouter, TEvent extends LambdaEvent> = ({
event,
context,
info
}: CreateAWSLambdaContextOptions<TEvent>) => inferRouterContext<TRouter> | Promise<inferRouterContext<TRouter>>;
declare function awsLambdaRequestHandler<TRouter extends AnyRouter, TEvent extends LambdaEvent>(opts: AWSLambdaOptions<TRouter, TEvent>): (event: TEvent, context: Context) => Promise<inferAPIGWReturn<TEvent>>;
declare function awsLambdaStreamingRequestHandler<TRouter extends AnyRouter, TEvent extends LambdaEvent>(opts: AWSLambdaOptions<TRouter, TEvent>): StreamifyHandler<TEvent>;
//# sourceMappingURL=index.d.ts.map
//#endregion
export { AWSLambdaCreateContextFn, AWSLambdaOptions, CreateAWSLambdaContextOptions, awsLambdaRequestHandler, awsLambdaStreamingRequestHandler };
//# sourceMappingURL=index.d.cts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"index.d.cts","names":[],"sources":["../../../src/adapters/aws-lambda/getPlanner.ts","../../../src/adapters/aws-lambda/index.ts"],"sourcesContent":[],"mappings":";;;;;;KAUY,WAAA,GAAc,uBAAuB;;;AAAjD;AAAuB,KAqBX,gBArBW,CAAA,MAAA,CAAA,GAqBgB,MArBhB,SAqB+B,oBArB/B,GAsBnB,qBAtBmB,GAuBnB,MAvBmB,SAuBJ,sBAvBI,GAwBjB,iCAxBiB,GAAA,KAAA;;;AAqBgB,KCL3B,6BDK2B,CAAA,eCLkB,WDKlB,CAAA,GAAA;EAAM,KAAS,ECJ7C,MDI6C;EAAoB,OACtE,ECJO,ODIP;EAAqB,IACrB,ECJI,eDIJ;CAAM;AACJ,KCFM,gBDEN,CAAA,gBCDY,SDCZ,EAAA,eCAW,WDAX,CAAA,GCCF,sBDDE,CCCqB,ODDrB,ECC8B,MDD9B,CAAA,GCEJ,qBDFI,CCGF,kBDHE,CCGiB,SDHjB,CAAA,ECIF,wBDJE,CCIuB,ODJvB,ECIgC,MDJhC,CAAA,CAAA;AAAiC,KCO3B,wBDP2B,CAAA,gBCQrB,SDRqB,EAAA,eCStB,WDTsB,CAAA,GAAA,CAAA;EAAA,KAAA;EAAA,OAAA;EAAA;AAAA,CAAA,ECcpC,6BDdoC,CCcN,MDdM,CAAA,EAAA,GCenC,kBDfmC,CCehB,ODfgB,CAAA,GCgBnC,ODhBmC,CCgB3B,kBDhB2B,CCgBR,ODhBQ,CAAA,CAAA;iBCkBvB,wCACE,0BACD,mBAET,iBAAiB,SAAS,kBACvB,iBAAiB,YAAiB,QAAQ,iBAAiB;iBA4BtD,iDACE,0BACD,mBACT,iBAAiB,SAAS,UAAU,iBAAiB"}

View File

@@ -0,0 +1,31 @@
import "../../index.d-D4qZxQJh.mjs";
import { AnyRouter, CreateContextCallback, HTTPBaseHandlerOptions, TRPCRequestInfo, inferRouterContext } from "../../unstable-core-do-not-import.d-Bl-_61JQ.mjs";
import "../../index.d-vq_QHko2.mjs";
import { APIGatewayProxyEvent, APIGatewayProxyEventV2, APIGatewayProxyResult, APIGatewayProxyStructuredResultV2, Context, StreamifyHandler } from "aws-lambda";
//#region src/adapters/aws-lambda/getPlanner.d.ts
type LambdaEvent = APIGatewayProxyEvent | APIGatewayProxyEventV2;
/** 1:1 mapping of v1 or v2 input events, deduces which is which.
* @internal
**/
type inferAPIGWReturn<TEvent> = TEvent extends APIGatewayProxyEvent ? APIGatewayProxyResult : TEvent extends APIGatewayProxyEventV2 ? APIGatewayProxyStructuredResultV2 : never;
//#endregion
//#region src/adapters/aws-lambda/index.d.ts
type CreateAWSLambdaContextOptions<TEvent extends LambdaEvent> = {
event: TEvent;
context: Context;
info: TRPCRequestInfo;
};
type AWSLambdaOptions<TRouter extends AnyRouter, TEvent extends LambdaEvent> = HTTPBaseHandlerOptions<TRouter, TEvent> & CreateContextCallback<inferRouterContext<AnyRouter>, AWSLambdaCreateContextFn<TRouter, TEvent>>;
type AWSLambdaCreateContextFn<TRouter extends AnyRouter, TEvent extends LambdaEvent> = ({
event,
context,
info
}: CreateAWSLambdaContextOptions<TEvent>) => inferRouterContext<TRouter> | Promise<inferRouterContext<TRouter>>;
declare function awsLambdaRequestHandler<TRouter extends AnyRouter, TEvent extends LambdaEvent>(opts: AWSLambdaOptions<TRouter, TEvent>): (event: TEvent, context: Context) => Promise<inferAPIGWReturn<TEvent>>;
declare function awsLambdaStreamingRequestHandler<TRouter extends AnyRouter, TEvent extends LambdaEvent>(opts: AWSLambdaOptions<TRouter, TEvent>): StreamifyHandler<TEvent>;
//# sourceMappingURL=index.d.ts.map
//#endregion
export { AWSLambdaCreateContextFn, AWSLambdaOptions, CreateAWSLambdaContextOptions, awsLambdaRequestHandler, awsLambdaStreamingRequestHandler };
//# sourceMappingURL=index.d.mts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"index.d.mts","names":[],"sources":["../../../src/adapters/aws-lambda/getPlanner.ts","../../../src/adapters/aws-lambda/index.ts"],"sourcesContent":[],"mappings":";;;;;;KAUY,WAAA,GAAc,uBAAuB;;;AAAjD;AAAuB,KAqBX,gBArBW,CAAA,MAAA,CAAA,GAqBgB,MArBhB,SAqB+B,oBArB/B,GAsBnB,qBAtBmB,GAuBnB,MAvBmB,SAuBJ,sBAvBI,GAwBjB,iCAxBiB,GAAA,KAAA;;;AAqBgB,KCL3B,6BDK2B,CAAA,eCLkB,WDKlB,CAAA,GAAA;EAAM,KAAS,ECJ7C,MDI6C;EAAoB,OACtE,ECJO,ODIP;EAAqB,IACrB,ECJI,eDIJ;CAAM;AACJ,KCFM,gBDEN,CAAA,gBCDY,SDCZ,EAAA,eCAW,WDAX,CAAA,GCCF,sBDDE,CCCqB,ODDrB,ECC8B,MDD9B,CAAA,GCEJ,qBDFI,CCGF,kBDHE,CCGiB,SDHjB,CAAA,ECIF,wBDJE,CCIuB,ODJvB,ECIgC,MDJhC,CAAA,CAAA;AAAiC,KCO3B,wBDP2B,CAAA,gBCQrB,SDRqB,EAAA,eCStB,WDTsB,CAAA,GAAA,CAAA;EAAA,KAAA;EAAA,OAAA;EAAA;AAAA,CAAA,ECcpC,6BDdoC,CCcN,MDdM,CAAA,EAAA,GCenC,kBDfmC,CCehB,ODfgB,CAAA,GCgBnC,ODhBmC,CCgB3B,kBDhB2B,CCgBR,ODhBQ,CAAA,CAAA;iBCkBvB,wCACE,0BACD,mBAET,iBAAiB,SAAS,kBACvB,iBAAiB,YAAiB,QAAQ,iBAAiB;iBA4BtD,iDACE,0BACD,mBACT,iBAAiB,SAAS,UAAU,iBAAiB"}

View File

@@ -0,0 +1,272 @@
import { __toESM, require_objectSpread2 } from "../../getErrorShape-vC8mUXJD.mjs";
import "../../codes-DagpWZLc.mjs";
import "../../tracked-DiE3uR1B.mjs";
import { resolveResponse } from "../../resolveResponse-C5I6V_wc.mjs";
import "../../observable-UMO3vUa_.mjs";
import { Readable } from "node:stream";
import { pipeline } from "node:stream/promises";
//#region src/vendor/cookie-es/set-cookie/split.ts
/**
* Based on https://github.com/unjs/cookie-es/tree/v1.2.2
* MIT License
*
* Cookie-es copyright (c) Pooya Parsa <pooya@pi0.io>
* Set-Cookie parsing based on https://github.com/nfriedly/set-cookie-parser
* Copyright (c) 2015 Nathan Friedly <nathan@nfriedly.com> (http://nfriedly.com/)
*
* @see https://github.com/unjs/cookie-es/blob/main/src/set-cookie/split.ts
*/
/**
* Set-Cookie header field-values are sometimes comma joined in one string. This splits them without choking on commas
* that are within a single set-cookie field-value, such as in the Expires portion.
*
* See https://tools.ietf.org/html/rfc2616#section-4.2
*/
function splitSetCookieString(cookiesString) {
if (Array.isArray(cookiesString)) return cookiesString.flatMap((c) => splitSetCookieString(c));
if (typeof cookiesString !== "string") return [];
const cookiesStrings = [];
let pos = 0;
let start;
let ch;
let lastComma;
let nextStart;
let cookiesSeparatorFound;
const skipWhitespace = () => {
while (pos < cookiesString.length && /\s/.test(cookiesString.charAt(pos))) pos += 1;
return pos < cookiesString.length;
};
const notSpecialChar = () => {
ch = cookiesString.charAt(pos);
return ch !== "=" && ch !== ";" && ch !== ",";
};
while (pos < cookiesString.length) {
start = pos;
cookiesSeparatorFound = false;
while (skipWhitespace()) {
ch = cookiesString.charAt(pos);
if (ch === ",") {
lastComma = pos;
pos += 1;
skipWhitespace();
nextStart = pos;
while (pos < cookiesString.length && notSpecialChar()) pos += 1;
if (pos < cookiesString.length && cookiesString.charAt(pos) === "=") {
cookiesSeparatorFound = true;
pos = nextStart;
cookiesStrings.push(cookiesString.slice(start, lastComma));
start = pos;
} else pos = lastComma + 1;
} else pos += 1;
}
if (!cookiesSeparatorFound || pos >= cookiesString.length) cookiesStrings.push(cookiesString.slice(start));
}
return cookiesStrings;
}
//#endregion
//#region src/adapters/aws-lambda/getPlanner.ts
var import_objectSpread2$1 = __toESM(require_objectSpread2(), 1);
function determinePayloadFormat(event) {
const unknownEvent = event;
if (typeof unknownEvent.version === "undefined") return "1.0";
else return unknownEvent.version;
}
function getHeadersAndCookiesFromResponse(response) {
const headers = Object.fromEntries(response.headers.entries());
const cookies = splitSetCookieString(response.headers.getSetCookie()).map((cookie) => cookie.trim());
delete headers["set-cookie"];
return {
headers,
cookies
};
}
const v1Processor = {
getTRPCPath: (event) => {
if (!event.pathParameters) {
var _event$path$split$pop;
return (_event$path$split$pop = event.path.split("/").pop()) !== null && _event$path$split$pop !== void 0 ? _event$path$split$pop : "";
}
const matches = event.resource.matchAll(new RegExp("\\{(.*?)\\}", "g"));
for (const match of matches) {
const group = match[1];
if (group.includes("+") && event.pathParameters) {
var _event$pathParameters;
return (_event$pathParameters = event.pathParameters[group.replace("+", "")]) !== null && _event$pathParameters !== void 0 ? _event$pathParameters : "";
}
}
return event.path.slice(1);
},
url(event) {
var _ref, _ref2, _event$requestContext, _event$multiValueHead, _event$queryStringPar;
const hostname = (_ref = (_ref2 = (_event$requestContext = event.requestContext.domainName) !== null && _event$requestContext !== void 0 ? _event$requestContext : event.headers["host"]) !== null && _ref2 !== void 0 ? _ref2 : (_event$multiValueHead = event.multiValueHeaders) === null || _event$multiValueHead === void 0 || (_event$multiValueHead = _event$multiValueHead["host"]) === null || _event$multiValueHead === void 0 ? void 0 : _event$multiValueHead[0]) !== null && _ref !== void 0 ? _ref : "localhost";
const searchParams = new URLSearchParams();
for (const [key, value] of Object.entries((_event$queryStringPar = event.queryStringParameters) !== null && _event$queryStringPar !== void 0 ? _event$queryStringPar : {})) if (value !== void 0) searchParams.append(key, value);
const qs = searchParams.toString();
return {
hostname,
pathname: event.path,
search: qs && `?${qs}`
};
},
getHeaders: (event) => {
var _event$multiValueHead2, _event$headers;
const headers = new Headers();
for (const [k, values] of Object.entries((_event$multiValueHead2 = event.multiValueHeaders) !== null && _event$multiValueHead2 !== void 0 ? _event$multiValueHead2 : {})) if (values) values.forEach((v) => headers.append(k, v));
for (const [key, value] of Object.entries((_event$headers = event.headers) !== null && _event$headers !== void 0 ? _event$headers : {})) if (value !== void 0 && !headers.has(key)) headers.append(key, value);
return headers;
},
getMethod: (event) => event.httpMethod,
toResult: async (response) => {
const { headers, cookies } = getHeadersAndCookiesFromResponse(response);
const result = (0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, cookies.length && { multiValueHeaders: { "set-cookie": cookies } }), {}, {
statusCode: response.status,
body: await response.text(),
headers
});
return result;
},
toStream: async (response, stream) => {
const { headers, cookies } = getHeadersAndCookiesFromResponse(response);
const metadata = {
statusCode: response.status,
headers,
cookies
};
const responseStream = awslambda.HttpResponseStream.from(stream, metadata);
if (response.body) await pipeline(Readable.fromWeb(response.body), responseStream);
else responseStream.end();
}
};
const v2Processor = {
getTRPCPath: (event) => {
const matches = event.routeKey.matchAll(new RegExp("\\{(.*?)\\}", "g"));
for (const match of matches) {
const group = match[1];
if (group.includes("+") && event.pathParameters) {
var _event$pathParameters2;
return (_event$pathParameters2 = event.pathParameters[group.replace("+", "")]) !== null && _event$pathParameters2 !== void 0 ? _event$pathParameters2 : "";
}
}
return event.rawPath.slice(1);
},
url(event) {
return {
hostname: event.requestContext.domainName,
pathname: event.rawPath,
search: event.rawQueryString && `?${event.rawQueryString}`
};
},
getHeaders: (event) => {
var _event$headers2;
const headers = new Headers();
for (const [key, value] of Object.entries((_event$headers2 = event.headers) !== null && _event$headers2 !== void 0 ? _event$headers2 : {})) if (value !== void 0) headers.append(key, value);
if (event.cookies) headers.append("cookie", event.cookies.join("; "));
return headers;
},
getMethod: (event) => event.requestContext.http.method,
toResult: async (response) => {
const { headers, cookies } = getHeadersAndCookiesFromResponse(response);
const result = {
cookies,
statusCode: response.status,
body: await response.text(),
headers
};
return result;
},
toStream: async (response, stream) => {
const { headers, cookies } = getHeadersAndCookiesFromResponse(response);
const metadata = {
statusCode: response.status,
headers,
cookies
};
const responseStream = awslambda.HttpResponseStream.from(stream, metadata);
if (response.body) await pipeline(Readable.fromWeb(response.body), responseStream);
else responseStream.end();
}
};
function getPlanner(event) {
const version = determinePayloadFormat(event);
let processor;
switch (version) {
case "1.0":
processor = v1Processor;
break;
case "2.0":
processor = v2Processor;
break;
default: throw new Error(`Unsupported version: ${version}`);
}
const urlParts = processor.url(event);
const url = `https://${urlParts.hostname}${urlParts.pathname}${urlParts.search}`;
const init = {
headers: processor.getHeaders(event),
method: processor.getMethod(event),
duplex: "half"
};
if (event.body) init.body = event.isBase64Encoded ? Buffer.from(event.body, "base64") : event.body;
const request = new Request(url, init);
return {
path: processor.getTRPCPath(event),
request,
toResult: processor.toResult,
toStream: processor.toStream
};
}
//#endregion
//#region src/adapters/aws-lambda/index.ts
var import_objectSpread2 = __toESM(require_objectSpread2(), 1);
function awsLambdaRequestHandler(opts) {
return async (event, context) => {
const planner = getPlanner(event);
const createContext = async (innerOpts) => {
var _opts$createContext;
return await ((_opts$createContext = opts.createContext) === null || _opts$createContext === void 0 ? void 0 : _opts$createContext.call(opts, (0, import_objectSpread2.default)({
event,
context
}, innerOpts)));
};
const response = await resolveResponse((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, opts), {}, {
createContext,
req: planner.request,
path: planner.path,
error: null,
onError(o) {
var _opts$onError;
opts === null || opts === void 0 || (_opts$onError = opts.onError) === null || _opts$onError === void 0 || _opts$onError.call(opts, (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, o), {}, { req: event }));
}
}));
return await planner.toResult(response);
};
}
function awsLambdaStreamingRequestHandler(opts) {
return async (event, responseStream, context) => {
const planner = getPlanner(event);
const createContext = async (innerOpts) => {
var _opts$createContext2;
return await ((_opts$createContext2 = opts.createContext) === null || _opts$createContext2 === void 0 ? void 0 : _opts$createContext2.call(opts, (0, import_objectSpread2.default)({
event,
context
}, innerOpts)));
};
const response = await resolveResponse((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, opts), {}, {
createContext,
req: planner.request,
path: planner.path,
error: null,
onError(o) {
var _opts$onError2;
opts === null || opts === void 0 || (_opts$onError2 = opts.onError) === null || _opts$onError2 === void 0 || _opts$onError2.call(opts, (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, o), {}, { req: event }));
}
}));
await planner.toStream(response, responseStream);
};
}
//#endregion
export { awsLambdaRequestHandler, awsLambdaStreamingRequestHandler };
//# sourceMappingURL=index.mjs.map

File diff suppressed because one or more lines are too long

33
node_modules/@trpc/server/dist/adapters/express.cjs generated vendored Normal file
View File

@@ -0,0 +1,33 @@
const require_getErrorShape = require('../getErrorShape-MR4DZeb7.cjs');
const require_codes = require('../codes-BfZsPdy-.cjs');
require('../tracked-Dj_dpOJE.cjs');
require('../parseTRPCMessage-7Ltmq-Fb.cjs');
require('../resolveResponse-B0CCg8nq.cjs');
require('../contentTypeParsers-iAFF_pJG.cjs');
require('../unstable-core-do-not-import-fsjhEhgh.cjs');
require('../observable-B1Nk6r1H.cjs');
require('../initTRPC-BXPPV9Tx.cjs');
const require_node_http = require('../node-http--mRuNXgJ.cjs');
//#region src/adapters/express.ts
var import_objectSpread2 = require_getErrorShape.__toESM(require_getErrorShape.require_objectSpread2(), 1);
function createExpressMiddleware(opts) {
return (req, res) => {
let path = "";
require_codes.run(async () => {
path = req.path.slice(req.path.lastIndexOf("/") + 1);
await require_node_http.nodeHTTPRequestHandler((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, opts), {}, {
req,
res,
path
}));
}).catch(require_node_http.internal_exceptionHandler((0, import_objectSpread2.default)({
req,
res,
path
}, opts)));
};
}
//#endregion
exports.createExpressMiddleware = createExpressMiddleware;

15
node_modules/@trpc/server/dist/adapters/express.d.cts generated vendored Normal file
View File

@@ -0,0 +1,15 @@
import "../index.d-BiUz7kM_.cjs";
import { AnyRouter } from "../unstable-core-do-not-import.d-Dm2ii-ih.cjs";
import "../index.d-CvZXeEyR.cjs";
import { NodeHTTPCreateContextFnOptions, NodeHTTPHandlerOptions } from "../index.d-C8CpwWZN.cjs";
import * as express from "express";
//#region src/adapters/express.d.ts
type CreateExpressContextOptions = NodeHTTPCreateContextFnOptions<express.Request, express.Response>;
declare function createExpressMiddleware<TRouter extends AnyRouter>(opts: NodeHTTPHandlerOptions<TRouter, express.Request, express.Response>): express.Handler;
//# sourceMappingURL=express.d.ts.map
//#endregion
export { CreateExpressContextOptions, createExpressMiddleware };
//# sourceMappingURL=express.d.cts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"express.d.cts","names":[],"sources":["../../src/adapters/express.ts"],"sourcesContent":[],"mappings":";;;;;;;;AAmBwE,KAA5D,2BAAA,GAA8B,8BAA8B,CACtE,OAAA,CAAQ,OAD8D,EAEtE,OAAA,CAAQ,QAF8D,CAAA;AAKxD,iBAAA,uBAAuB,CAAA,gBAAiB,SAAjB,CAAA,CAAA,IAAA,EAC/B,sBAD+B,CACR,OADQ,EACC,OAAA,CAAQ,OADT,EACkB,OAAA,CAAQ,QAD1B,CAAA,CAAA,EAEpC,OAAA,CAAQ,OAF4B"}

15
node_modules/@trpc/server/dist/adapters/express.d.mts generated vendored Normal file
View File

@@ -0,0 +1,15 @@
import "../index.d-D4qZxQJh.mjs";
import { AnyRouter } from "../unstable-core-do-not-import.d-Bl-_61JQ.mjs";
import "../index.d-vq_QHko2.mjs";
import { NodeHTTPCreateContextFnOptions, NodeHTTPHandlerOptions } from "../index.d-Ch63NO6Z.mjs";
import * as express from "express";
//#region src/adapters/express.d.ts
type CreateExpressContextOptions = NodeHTTPCreateContextFnOptions<express.Request, express.Response>;
declare function createExpressMiddleware<TRouter extends AnyRouter>(opts: NodeHTTPHandlerOptions<TRouter, express.Request, express.Response>): express.Handler;
//# sourceMappingURL=express.d.ts.map
//#endregion
export { CreateExpressContextOptions, createExpressMiddleware };
//# sourceMappingURL=express.d.mts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"express.d.mts","names":[],"sources":["../../src/adapters/express.ts"],"sourcesContent":[],"mappings":";;;;;;;;AAmBwE,KAA5D,2BAAA,GAA8B,8BAA8B,CACtE,OAAA,CAAQ,OAD8D,EAEtE,OAAA,CAAQ,QAF8D,CAAA;AAKxD,iBAAA,uBAAuB,CAAA,gBAAiB,SAAjB,CAAA,CAAA,IAAA,EAC/B,sBAD+B,CACR,OADQ,EACC,OAAA,CAAQ,OADT,EACkB,OAAA,CAAQ,QAD1B,CAAA,CAAA,EAEpC,OAAA,CAAQ,OAF4B"}

34
node_modules/@trpc/server/dist/adapters/express.mjs generated vendored Normal file
View File

@@ -0,0 +1,34 @@
import { __toESM, require_objectSpread2 } from "../getErrorShape-vC8mUXJD.mjs";
import { run } from "../codes-DagpWZLc.mjs";
import "../tracked-DiE3uR1B.mjs";
import "../parseTRPCMessage-CTow-umk.mjs";
import "../resolveResponse-C5I6V_wc.mjs";
import "../contentTypeParsers-SN4WL9ze.mjs";
import "../unstable-core-do-not-import-9NNw8uQM.mjs";
import "../observable-UMO3vUa_.mjs";
import "../initTRPC-B1ggxyJl.mjs";
import { internal_exceptionHandler, nodeHTTPRequestHandler } from "../node-http-CPiHo2kI.mjs";
//#region src/adapters/express.ts
var import_objectSpread2 = __toESM(require_objectSpread2(), 1);
function createExpressMiddleware(opts) {
return (req, res) => {
let path = "";
run(async () => {
path = req.path.slice(req.path.lastIndexOf("/") + 1);
await nodeHTTPRequestHandler((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, opts), {}, {
req,
res,
path
}));
}).catch(internal_exceptionHandler((0, import_objectSpread2.default)({
req,
res,
path
}, opts)));
};
}
//#endregion
export { createExpressMiddleware };
//# sourceMappingURL=express.mjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"express.mjs","names":["opts: NodeHTTPHandlerOptions<TRouter, express.Request, express.Response>"],"sources":["../../src/adapters/express.ts"],"sourcesContent":["/**\n * If you're making an adapter for tRPC and looking at this file for reference, you should import types and functions from `@trpc/server` and `@trpc/server/http`\n *\n * @example\n * ```ts\n * import type { AnyTRPCRouter } from '@trpc/server'\n * import type { HTTPBaseHandlerOptions } from '@trpc/server/http'\n * ```\n */\nimport type * as express from 'express';\nimport type { AnyRouter } from '../@trpc/server';\n// eslint-disable-next-line no-restricted-imports\nimport { run } from '../unstable-core-do-not-import';\nimport type {\n NodeHTTPCreateContextFnOptions,\n NodeHTTPHandlerOptions,\n} from './node-http';\nimport { internal_exceptionHandler, nodeHTTPRequestHandler } from './node-http';\n\nexport type CreateExpressContextOptions = NodeHTTPCreateContextFnOptions<\n express.Request,\n express.Response\n>;\n\nexport function createExpressMiddleware<TRouter extends AnyRouter>(\n opts: NodeHTTPHandlerOptions<TRouter, express.Request, express.Response>,\n): express.Handler {\n return (req, res) => {\n let path = '';\n run(async () => {\n path = req.path.slice(req.path.lastIndexOf('/') + 1);\n\n await nodeHTTPRequestHandler({\n ...(opts as any),\n req,\n res,\n path,\n });\n }).catch(\n internal_exceptionHandler({\n req,\n res,\n path,\n ...opts,\n }),\n );\n };\n}\n"],"mappings":";;;;;;;;;;;;;AAwBA,SAAgB,wBACdA,MACiB;AACjB,QAAO,CAAC,KAAK,QAAQ;EACnB,IAAI,OAAO;AACX,MAAI,YAAY;AACd,UAAO,IAAI,KAAK,MAAM,IAAI,KAAK,YAAY,IAAI,GAAG,EAAE;AAEpD,SAAM,+FACA;IACJ;IACA;IACA;MACA;EACH,EAAC,CAAC,MACD;GACE;GACA;GACA;KACG,MACH,CACH;CACF;AACF"}

View File

@@ -0,0 +1,78 @@
const require_getErrorShape = require('../../getErrorShape-MR4DZeb7.cjs');
require('../../codes-BfZsPdy-.cjs');
require('../../tracked-Dj_dpOJE.cjs');
require('../../parseTRPCMessage-7Ltmq-Fb.cjs');
const require_resolveResponse = require('../../resolveResponse-B0CCg8nq.cjs');
require('../../contentTypeParsers-iAFF_pJG.cjs');
require('../../unstable-core-do-not-import-fsjhEhgh.cjs');
require('../../observable-B1Nk6r1H.cjs');
require('../../initTRPC-BXPPV9Tx.cjs');
require('../../http-DXy3XyhL.cjs');
const require_node_http = require('../../node-http--mRuNXgJ.cjs');
require('../../observable-BVzLuBs6.cjs');
const require_ws = require('../../ws-37hDrozF.cjs');
//#region src/adapters/fastify/fastifyRequestHandler.ts
var import_objectSpread2$1 = require_getErrorShape.__toESM(require_getErrorShape.require_objectSpread2(), 1);
async function fastifyRequestHandler(opts) {
const createContext = async (innerOpts) => {
var _opts$createContext;
return await ((_opts$createContext = opts.createContext) === null || _opts$createContext === void 0 ? void 0 : _opts$createContext.call(opts, (0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, opts), innerOpts)));
};
const incomingMessage = opts.req.raw;
if ("body" in opts.req) incomingMessage.body = opts.req.body;
const req = require_node_http.incomingMessageToRequest(incomingMessage, opts.res.raw, { maxBodySize: null });
const res = await require_resolveResponse.resolveResponse((0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, opts), {}, {
req,
error: null,
createContext,
onError(o) {
var _opts$onError;
opts === null || opts === void 0 || (_opts$onError = opts.onError) === null || _opts$onError === void 0 || _opts$onError.call(opts, (0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, o), {}, { req: opts.req }));
}
}));
await opts.res.send(res);
}
//#endregion
//#region src/adapters/fastify/fastifyTRPCPlugin.ts
var import_objectSpread2 = require_getErrorShape.__toESM(require_getErrorShape.require_objectSpread2(), 1);
function fastifyTRPCPlugin(fastify, opts, done) {
var _opts$prefix;
fastify.removeContentTypeParser("application/json");
fastify.addContentTypeParser("application/json", { parseAs: "string" }, function(_, body, _done) {
_done(null, body);
});
fastify.removeContentTypeParser("multipart/form-data");
fastify.addContentTypeParser("multipart/form-data", {}, function(_, body, _done) {
_done(null, body);
});
let prefix = (_opts$prefix = opts.prefix) !== null && _opts$prefix !== void 0 ? _opts$prefix : "";
if (typeof fastifyTRPCPlugin.default !== "function") prefix = "";
fastify.all(`${prefix}/:path`, async (req, res) => {
const path = req.params.path;
await fastifyRequestHandler((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, opts.trpcOptions), {}, {
req,
res,
path
}));
});
if (opts.useWSS) {
var _prefix;
const trpcOptions = opts.trpcOptions;
const onConnection = require_ws.getWSConnectionHandler((0, import_objectSpread2.default)({}, trpcOptions));
fastify.get((_prefix = prefix) !== null && _prefix !== void 0 ? _prefix : "/", { websocket: true }, (socket, req) => {
var _trpcOptions$keepAliv;
onConnection(socket, req.raw);
if (trpcOptions === null || trpcOptions === void 0 || (_trpcOptions$keepAliv = trpcOptions.keepAlive) === null || _trpcOptions$keepAliv === void 0 ? void 0 : _trpcOptions$keepAliv.enabled) {
const { pingMs, pongWaitMs } = trpcOptions.keepAlive;
require_ws.handleKeepAlive(socket, pingMs, pongWaitMs);
}
});
}
done();
}
//#endregion
exports.fastifyRequestHandler = fastifyRequestHandler;
exports.fastifyTRPCPlugin = fastifyTRPCPlugin;

View File

@@ -0,0 +1,29 @@
import "../../index.d-BiUz7kM_.cjs";
import { AnyRouter, HTTPBaseHandlerOptions } from "../../unstable-core-do-not-import.d-Dm2ii-ih.cjs";
import "../../index.d-CvZXeEyR.cjs";
import { NodeHTTPCreateContextFnOptions, NodeHTTPCreateContextOption } from "../../index.d-C8CpwWZN.cjs";
import { FastifyInstance, FastifyReply, FastifyRequest } from "fastify";
//#region src/adapters/fastify/fastifyRequestHandler.d.ts
type FastifyHandlerOptions<TRouter extends AnyRouter, TRequest extends FastifyRequest, TResponse extends FastifyReply> = HTTPBaseHandlerOptions<TRouter, TRequest> & NodeHTTPCreateContextOption<TRouter, TRequest, TResponse>;
type FastifyRequestHandlerOptions<TRouter extends AnyRouter, TRequest extends FastifyRequest, TResponse extends FastifyReply> = FastifyHandlerOptions<TRouter, TRequest, TResponse> & {
req: TRequest;
res: TResponse;
path: string;
};
declare function fastifyRequestHandler<TRouter extends AnyRouter, TRequest extends FastifyRequest, TResponse extends FastifyReply>(opts: FastifyRequestHandlerOptions<TRouter, TRequest, TResponse>): Promise<void>;
//#endregion
//#region src/adapters/fastify/fastifyTRPCPlugin.d.ts
interface FastifyTRPCPluginOptions<TRouter extends AnyRouter> {
prefix?: string;
useWSS?: boolean;
trpcOptions: FastifyHandlerOptions<TRouter, FastifyRequest, FastifyReply>;
}
type CreateFastifyContextOptions = NodeHTTPCreateContextFnOptions<FastifyRequest, FastifyReply>;
declare function fastifyTRPCPlugin<TRouter extends AnyRouter>(fastify: FastifyInstance, opts: FastifyTRPCPluginOptions<TRouter>, done: (err?: Error) => void): void;
//# sourceMappingURL=fastifyTRPCPlugin.d.ts.map
//#endregion
export { CreateFastifyContextOptions, FastifyHandlerOptions, FastifyTRPCPluginOptions, fastifyRequestHandler, fastifyTRPCPlugin };
//# sourceMappingURL=index.d.cts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"index.d.cts","names":[],"sources":["../../../src/adapters/fastify/fastifyRequestHandler.ts","../../../src/adapters/fastify/fastifyTRPCPlugin.ts"],"sourcesContent":[],"mappings":";;;;;;;;AA6BoC,KAJxB,qBAIwB,CAAA,gBAHlB,SAGkB,EAAA,iBAFjB,cAEiB,EAAA,kBADhB,YACgB,CAAA,GAAhC,sBAAgC,CAAT,OAAS,EAAA,QAAA,CAAA,GAClC,2BADkC,CACN,OADM,EACG,QADH,EACa,SADb,CAAA;KAG/B,4BAHD,CAAA,gBAIc,SAJd,EAAA,iBAKe,cALf,EAAA,kBAMgB,YANhB,CAAA,GAOA,qBAPA,CAOsB,OAPtB,EAO+B,QAP/B,EAOyC,SAPzC,CAAA,GAAA;EAAsB,GACI,EAOvB,QAPuB;EAAO,GAAE,EAQhC,SARgC;EAAQ,IAAE,EAAA,MAAA;CAAS;AAA7B,iBAYP,qBAZO,CAAA,gBAaX,SAbW,EAAA,iBAcV,cAdU,EAAA,kBAeT,YAfS,CAAA,CAAA,IAAA,EAgBrB,4BAhBqB,CAgBQ,OAhBR,EAgBiB,QAhBjB,EAgB2B,SAhB3B,CAAA,CAAA,EAgBqC,OAhBrC,CAAA,IAAA,CAAA;;;AADO,UCLnB,wBDKmB,CAAA,gBCLsB,SDKtB,CAAA,CAAA;EAAQ,MAAxC,CAAA,EAAA,MAAA;EAAsB,MACI,CAAA,EAAA,OAAA;EAAO,WAAE,ECHxB,qBDGwB,CCHF,ODGE,ECHO,cDGP,ECHuB,YDGvB,CAAA;;AAArC,KCAU,2BAAA,GAA8B,8BDAxC,CCCA,cDDA,ECEA,YDFA,CAAA;AAA2B,iBCKb,iBDLa,CAAA,gBCKqB,SDLrB,CAAA,CAAA,OAAA,ECMlB,eDNkB,EAAA,IAAA,ECOrB,wBDPqB,CCOI,ODPJ,CAAA,EAAA,IAAA,EAAA,CAAA,GAAA,CAAA,ECQd,KDRc,EAAA,GAAA,IAAA,CAAA,EAAA,IAAA;AAA+B"}

View File

@@ -0,0 +1,29 @@
import "../../index.d-D4qZxQJh.mjs";
import { AnyRouter, HTTPBaseHandlerOptions } from "../../unstable-core-do-not-import.d-Bl-_61JQ.mjs";
import "../../index.d-vq_QHko2.mjs";
import { NodeHTTPCreateContextFnOptions, NodeHTTPCreateContextOption } from "../../index.d-Ch63NO6Z.mjs";
import { FastifyInstance, FastifyReply, FastifyRequest } from "fastify";
//#region src/adapters/fastify/fastifyRequestHandler.d.ts
type FastifyHandlerOptions<TRouter extends AnyRouter, TRequest extends FastifyRequest, TResponse extends FastifyReply> = HTTPBaseHandlerOptions<TRouter, TRequest> & NodeHTTPCreateContextOption<TRouter, TRequest, TResponse>;
type FastifyRequestHandlerOptions<TRouter extends AnyRouter, TRequest extends FastifyRequest, TResponse extends FastifyReply> = FastifyHandlerOptions<TRouter, TRequest, TResponse> & {
req: TRequest;
res: TResponse;
path: string;
};
declare function fastifyRequestHandler<TRouter extends AnyRouter, TRequest extends FastifyRequest, TResponse extends FastifyReply>(opts: FastifyRequestHandlerOptions<TRouter, TRequest, TResponse>): Promise<void>;
//#endregion
//#region src/adapters/fastify/fastifyTRPCPlugin.d.ts
interface FastifyTRPCPluginOptions<TRouter extends AnyRouter> {
prefix?: string;
useWSS?: boolean;
trpcOptions: FastifyHandlerOptions<TRouter, FastifyRequest, FastifyReply>;
}
type CreateFastifyContextOptions = NodeHTTPCreateContextFnOptions<FastifyRequest, FastifyReply>;
declare function fastifyTRPCPlugin<TRouter extends AnyRouter>(fastify: FastifyInstance, opts: FastifyTRPCPluginOptions<TRouter>, done: (err?: Error) => void): void;
//# sourceMappingURL=fastifyTRPCPlugin.d.ts.map
//#endregion
export { CreateFastifyContextOptions, FastifyHandlerOptions, FastifyTRPCPluginOptions, fastifyRequestHandler, fastifyTRPCPlugin };
//# sourceMappingURL=index.d.mts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"index.d.mts","names":[],"sources":["../../../src/adapters/fastify/fastifyRequestHandler.ts","../../../src/adapters/fastify/fastifyTRPCPlugin.ts"],"sourcesContent":[],"mappings":";;;;;;;;AA6BoC,KAJxB,qBAIwB,CAAA,gBAHlB,SAGkB,EAAA,iBAFjB,cAEiB,EAAA,kBADhB,YACgB,CAAA,GAAhC,sBAAgC,CAAT,OAAS,EAAA,QAAA,CAAA,GAClC,2BADkC,CACN,OADM,EACG,QADH,EACa,SADb,CAAA;KAG/B,4BAHD,CAAA,gBAIc,SAJd,EAAA,iBAKe,cALf,EAAA,kBAMgB,YANhB,CAAA,GAOA,qBAPA,CAOsB,OAPtB,EAO+B,QAP/B,EAOyC,SAPzC,CAAA,GAAA;EAAsB,GACI,EAOvB,QAPuB;EAAO,GAAE,EAQhC,SARgC;EAAQ,IAAE,EAAA,MAAA;CAAS;AAA7B,iBAYP,qBAZO,CAAA,gBAaX,SAbW,EAAA,iBAcV,cAdU,EAAA,kBAeT,YAfS,CAAA,CAAA,IAAA,EAgBrB,4BAhBqB,CAgBQ,OAhBR,EAgBiB,QAhBjB,EAgB2B,SAhB3B,CAAA,CAAA,EAgBqC,OAhBrC,CAAA,IAAA,CAAA;;;AADO,UCLnB,wBDKmB,CAAA,gBCLsB,SDKtB,CAAA,CAAA;EAAQ,MAAxC,CAAA,EAAA,MAAA;EAAsB,MACI,CAAA,EAAA,OAAA;EAAO,WAAE,ECHxB,qBDGwB,CCHF,ODGE,ECHO,cDGP,ECHuB,YDGvB,CAAA;;AAArC,KCAU,2BAAA,GAA8B,8BDAxC,CCCA,cDDA,ECEA,YDFA,CAAA;AAA2B,iBCKb,iBDLa,CAAA,gBCKqB,SDLrB,CAAA,CAAA,OAAA,ECMlB,eDNkB,EAAA,IAAA,ECOrB,wBDPqB,CCOI,ODPJ,CAAA,EAAA,IAAA,EAAA,CAAA,GAAA,CAAA,ECQd,KDRc,EAAA,GAAA,IAAA,CAAA,EAAA,IAAA;AAA+B"}

View File

@@ -0,0 +1,78 @@
import { __toESM, require_objectSpread2 } from "../../getErrorShape-vC8mUXJD.mjs";
import "../../codes-DagpWZLc.mjs";
import "../../tracked-DiE3uR1B.mjs";
import "../../parseTRPCMessage-CTow-umk.mjs";
import { resolveResponse } from "../../resolveResponse-C5I6V_wc.mjs";
import "../../contentTypeParsers-SN4WL9ze.mjs";
import "../../unstable-core-do-not-import-9NNw8uQM.mjs";
import "../../observable-UMO3vUa_.mjs";
import "../../initTRPC-B1ggxyJl.mjs";
import "../../http-CWyjOa1l.mjs";
import { incomingMessageToRequest } from "../../node-http-CPiHo2kI.mjs";
import "../../observable-CUiPknO-.mjs";
import { getWSConnectionHandler, handleKeepAlive } from "../../ws-CnhJbg02.mjs";
//#region src/adapters/fastify/fastifyRequestHandler.ts
var import_objectSpread2$1 = __toESM(require_objectSpread2(), 1);
async function fastifyRequestHandler(opts) {
const createContext = async (innerOpts) => {
var _opts$createContext;
return await ((_opts$createContext = opts.createContext) === null || _opts$createContext === void 0 ? void 0 : _opts$createContext.call(opts, (0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, opts), innerOpts)));
};
const incomingMessage = opts.req.raw;
if ("body" in opts.req) incomingMessage.body = opts.req.body;
const req = incomingMessageToRequest(incomingMessage, opts.res.raw, { maxBodySize: null });
const res = await resolveResponse((0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, opts), {}, {
req,
error: null,
createContext,
onError(o) {
var _opts$onError;
opts === null || opts === void 0 || (_opts$onError = opts.onError) === null || _opts$onError === void 0 || _opts$onError.call(opts, (0, import_objectSpread2$1.default)((0, import_objectSpread2$1.default)({}, o), {}, { req: opts.req }));
}
}));
await opts.res.send(res);
}
//#endregion
//#region src/adapters/fastify/fastifyTRPCPlugin.ts
var import_objectSpread2 = __toESM(require_objectSpread2(), 1);
function fastifyTRPCPlugin(fastify, opts, done) {
var _opts$prefix;
fastify.removeContentTypeParser("application/json");
fastify.addContentTypeParser("application/json", { parseAs: "string" }, function(_, body, _done) {
_done(null, body);
});
fastify.removeContentTypeParser("multipart/form-data");
fastify.addContentTypeParser("multipart/form-data", {}, function(_, body, _done) {
_done(null, body);
});
let prefix = (_opts$prefix = opts.prefix) !== null && _opts$prefix !== void 0 ? _opts$prefix : "";
if (typeof fastifyTRPCPlugin.default !== "function") prefix = "";
fastify.all(`${prefix}/:path`, async (req, res) => {
const path = req.params.path;
await fastifyRequestHandler((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, opts.trpcOptions), {}, {
req,
res,
path
}));
});
if (opts.useWSS) {
var _prefix;
const trpcOptions = opts.trpcOptions;
const onConnection = getWSConnectionHandler((0, import_objectSpread2.default)({}, trpcOptions));
fastify.get((_prefix = prefix) !== null && _prefix !== void 0 ? _prefix : "/", { websocket: true }, (socket, req) => {
var _trpcOptions$keepAliv;
onConnection(socket, req.raw);
if (trpcOptions === null || trpcOptions === void 0 || (_trpcOptions$keepAliv = trpcOptions.keepAlive) === null || _trpcOptions$keepAliv === void 0 ? void 0 : _trpcOptions$keepAliv.enabled) {
const { pingMs, pongWaitMs } = trpcOptions.keepAlive;
handleKeepAlive(socket, pingMs, pongWaitMs);
}
});
}
done();
}
//#endregion
export { fastifyRequestHandler, fastifyTRPCPlugin };
//# sourceMappingURL=index.mjs.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,57 @@
const require_getErrorShape = require('../../getErrorShape-MR4DZeb7.cjs');
require('../../codes-BfZsPdy-.cjs');
require('../../tracked-Dj_dpOJE.cjs');
const require_resolveResponse = require('../../resolveResponse-B0CCg8nq.cjs');
require('../../observable-B1Nk6r1H.cjs');
//#region src/adapters/fetch/fetchRequestHandler.ts
var import_objectSpread2 = require_getErrorShape.__toESM(require_getErrorShape.require_objectSpread2(), 1);
const trimSlashes = (path) => {
path = path.startsWith("/") ? path.slice(1) : path;
path = path.endsWith("/") ? path.slice(0, -1) : path;
return path;
};
async function fetchRequestHandler(opts) {
const resHeaders = new Headers();
const createContext = async (innerOpts) => {
var _opts$createContext;
return (_opts$createContext = opts.createContext) === null || _opts$createContext === void 0 ? void 0 : _opts$createContext.call(opts, (0, import_objectSpread2.default)({
req: opts.req,
resHeaders
}, innerOpts));
};
const url = new URL(opts.req.url);
const pathname = trimSlashes(url.pathname);
const endpoint = trimSlashes(opts.endpoint);
const path = trimSlashes(pathname.slice(endpoint.length));
return await require_resolveResponse.resolveResponse((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, opts), {}, {
req: opts.req,
createContext,
path,
error: null,
onError(o) {
var _opts$onError;
opts === null || opts === void 0 || (_opts$onError = opts.onError) === null || _opts$onError === void 0 || _opts$onError.call(opts, (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, o), {}, { req: opts.req }));
},
responseMeta(data) {
var _opts$responseMeta;
const meta = (_opts$responseMeta = opts.responseMeta) === null || _opts$responseMeta === void 0 ? void 0 : _opts$responseMeta.call(opts, data);
if (meta === null || meta === void 0 ? void 0 : meta.headers) {
if (meta.headers instanceof Headers) for (const [key, value] of meta.headers.entries()) resHeaders.append(key, value);
else
/**
* @deprecated, delete in v12
*/
for (const [key, value] of Object.entries(meta.headers)) if (Array.isArray(value)) for (const v of value) resHeaders.append(key, v);
else if (typeof value === "string") resHeaders.set(key, value);
}
return {
headers: resHeaders,
status: meta === null || meta === void 0 ? void 0 : meta.status
};
}
}));
}
//#endregion
exports.fetchRequestHandler = fetchRequestHandler;

View File

@@ -0,0 +1,30 @@
import "../../index.d-BiUz7kM_.cjs";
import { AnyRouter, CreateContextCallback, HTTPBaseHandlerOptions, TRPCRequestInfo, inferRouterContext } from "../../unstable-core-do-not-import.d-Dm2ii-ih.cjs";
import "../../index.d-CvZXeEyR.cjs";
//#region src/adapters/fetch/types.d.ts
type FetchCreateContextFnOptions = {
req: Request;
resHeaders: Headers;
info: TRPCRequestInfo;
};
type FetchCreateContextFn<TRouter extends AnyRouter> = (opts: FetchCreateContextFnOptions) => inferRouterContext<TRouter> | Promise<inferRouterContext<TRouter>>;
type FetchCreateContextOption<TRouter extends AnyRouter> = CreateContextCallback<inferRouterContext<TRouter>, FetchCreateContextFn<TRouter>>;
type FetchHandlerOptions<TRouter extends AnyRouter> = FetchCreateContextOption<TRouter> & HTTPBaseHandlerOptions<TRouter, Request> & {
req: Request;
endpoint: string;
};
type FetchHandlerRequestOptions<TRouter extends AnyRouter> = HTTPBaseHandlerOptions<TRouter, Request> & CreateContextCallback<inferRouterContext<TRouter>, FetchCreateContextFn<TRouter>> & {
req: Request;
endpoint: string;
};
//# sourceMappingURL=types.d.ts.map
//#endregion
//#region src/adapters/fetch/fetchRequestHandler.d.ts
declare function fetchRequestHandler<TRouter extends AnyRouter>(opts: FetchHandlerRequestOptions<TRouter>): Promise<Response>;
//# sourceMappingURL=fetchRequestHandler.d.ts.map
//#endregion
export { FetchCreateContextFn, FetchCreateContextFnOptions, FetchCreateContextOption, FetchHandlerOptions, FetchHandlerRequestOptions, fetchRequestHandler };
//# sourceMappingURL=index.d.cts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"index.d.cts","names":[],"sources":["../../../src/adapters/fetch/types.ts","../../../src/adapters/fetch/fetchRequestHandler.ts"],"sourcesContent":[],"mappings":";;;;;;AA2BY,KANA,2BAAA,GAMoB;EAAA,GAAA,EALzB,OAKyB;EAAA,UAAiB,EAJnC,OAImC;EAAS,IAClD,EAJA,eAIA;CAA2B;AAC9B,KAFO,oBAEP,CAAA,gBAF4C,SAE5C,CAAA,GAAA,CAAA,IAAA,EADG,2BACH,EAAA,GAAA,kBAAA,CAAmB,OAAnB,CAAA,GAA8B,OAA9B,CAAsC,kBAAtC,CAAyD,OAAzD,CAAA,CAAA;AAAyD,KAElD,wBAFkD,CAAA,gBAET,SAFS,CAAA,GAG5D,qBAH4D,CAI1D,kBAJ0D,CAIvC,OAJuC,CAAA,EAK1D,oBAL0D,CAKrC,OALqC,CAAA,CAAA;AAAnB,KAQ/B,mBAR+B,CAAA,gBAQK,SARL,CAAA,GASzC,wBATyC,CAShB,OATgB,CAAA,GAUvC,sBAVuC,CAUhB,OAVgB,EAUP,OAVO,CAAA,GAAA;EAAkB,GAA1B,EAWxB,OAXwB;EAAO,QAAA,EAAA,MAAA;AAE1C,CAAA;AAAoC,KAaxB,0BAbwB,CAAA,gBAamB,SAbnB,CAAA,GAclC,sBAdkC,CAcX,OAdW,EAcF,OAdE,CAAA,GAehC,qBAfgC,CAgB9B,kBAhB8B,CAgBX,OAhBW,CAAA,EAiB9B,oBAjB8B,CAiBT,OAjBS,CAAA,CAAA,GAAA;EAAA,GAAiB,EAmB1C,OAnB0C;EAAS,QAEvC,EAAA,MAAA;CAAO;;;;AANlB,iBCJU,mBDIU,CAAA,gBCJ0B,SDI1B,CAAA,CAAA,IAAA,ECHxB,0BDGwB,CCHG,ODGH,CAAA,CAAA,ECF7B,ODE6B,CCFrB,QDEqB,CAAA"}

View File

@@ -0,0 +1,30 @@
import "../../index.d-D4qZxQJh.mjs";
import { AnyRouter, CreateContextCallback, HTTPBaseHandlerOptions, TRPCRequestInfo, inferRouterContext } from "../../unstable-core-do-not-import.d-Bl-_61JQ.mjs";
import "../../index.d-vq_QHko2.mjs";
//#region src/adapters/fetch/types.d.ts
type FetchCreateContextFnOptions = {
req: Request;
resHeaders: Headers;
info: TRPCRequestInfo;
};
type FetchCreateContextFn<TRouter extends AnyRouter> = (opts: FetchCreateContextFnOptions) => inferRouterContext<TRouter> | Promise<inferRouterContext<TRouter>>;
type FetchCreateContextOption<TRouter extends AnyRouter> = CreateContextCallback<inferRouterContext<TRouter>, FetchCreateContextFn<TRouter>>;
type FetchHandlerOptions<TRouter extends AnyRouter> = FetchCreateContextOption<TRouter> & HTTPBaseHandlerOptions<TRouter, Request> & {
req: Request;
endpoint: string;
};
type FetchHandlerRequestOptions<TRouter extends AnyRouter> = HTTPBaseHandlerOptions<TRouter, Request> & CreateContextCallback<inferRouterContext<TRouter>, FetchCreateContextFn<TRouter>> & {
req: Request;
endpoint: string;
};
//# sourceMappingURL=types.d.ts.map
//#endregion
//#region src/adapters/fetch/fetchRequestHandler.d.ts
declare function fetchRequestHandler<TRouter extends AnyRouter>(opts: FetchHandlerRequestOptions<TRouter>): Promise<Response>;
//# sourceMappingURL=fetchRequestHandler.d.ts.map
//#endregion
export { FetchCreateContextFn, FetchCreateContextFnOptions, FetchCreateContextOption, FetchHandlerOptions, FetchHandlerRequestOptions, fetchRequestHandler };
//# sourceMappingURL=index.d.mts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"index.d.mts","names":[],"sources":["../../../src/adapters/fetch/types.ts","../../../src/adapters/fetch/fetchRequestHandler.ts"],"sourcesContent":[],"mappings":";;;;;;AA2BY,KANA,2BAAA,GAMoB;EAAA,GAAA,EALzB,OAKyB;EAAA,UAAiB,EAJnC,OAImC;EAAS,IAClD,EAJA,eAIA;CAA2B;AAC9B,KAFO,oBAEP,CAAA,gBAF4C,SAE5C,CAAA,GAAA,CAAA,IAAA,EADG,2BACH,EAAA,GAAA,kBAAA,CAAmB,OAAnB,CAAA,GAA8B,OAA9B,CAAsC,kBAAtC,CAAyD,OAAzD,CAAA,CAAA;AAAyD,KAElD,wBAFkD,CAAA,gBAET,SAFS,CAAA,GAG5D,qBAH4D,CAI1D,kBAJ0D,CAIvC,OAJuC,CAAA,EAK1D,oBAL0D,CAKrC,OALqC,CAAA,CAAA;AAAnB,KAQ/B,mBAR+B,CAAA,gBAQK,SARL,CAAA,GASzC,wBATyC,CAShB,OATgB,CAAA,GAUvC,sBAVuC,CAUhB,OAVgB,EAUP,OAVO,CAAA,GAAA;EAAkB,GAA1B,EAWxB,OAXwB;EAAO,QAAA,EAAA,MAAA;AAE1C,CAAA;AAAoC,KAaxB,0BAbwB,CAAA,gBAamB,SAbnB,CAAA,GAclC,sBAdkC,CAcX,OAdW,EAcF,OAdE,CAAA,GAehC,qBAfgC,CAgB9B,kBAhB8B,CAgBX,OAhBW,CAAA,EAiB9B,oBAjB8B,CAiBT,OAjBS,CAAA,CAAA,GAAA;EAAA,GAAiB,EAmB1C,OAnB0C;EAAS,QAEvC,EAAA,MAAA;CAAO;;;;AANlB,iBCJU,mBDIU,CAAA,gBCJ0B,SDI1B,CAAA,CAAA,IAAA,ECHxB,0BDGwB,CCHG,ODGH,CAAA,CAAA,ECF7B,ODE6B,CCFrB,QDEqB,CAAA"}

View File

@@ -0,0 +1,58 @@
import { __toESM, require_objectSpread2 } from "../../getErrorShape-vC8mUXJD.mjs";
import "../../codes-DagpWZLc.mjs";
import "../../tracked-DiE3uR1B.mjs";
import { resolveResponse } from "../../resolveResponse-C5I6V_wc.mjs";
import "../../observable-UMO3vUa_.mjs";
//#region src/adapters/fetch/fetchRequestHandler.ts
var import_objectSpread2 = __toESM(require_objectSpread2(), 1);
const trimSlashes = (path) => {
path = path.startsWith("/") ? path.slice(1) : path;
path = path.endsWith("/") ? path.slice(0, -1) : path;
return path;
};
async function fetchRequestHandler(opts) {
const resHeaders = new Headers();
const createContext = async (innerOpts) => {
var _opts$createContext;
return (_opts$createContext = opts.createContext) === null || _opts$createContext === void 0 ? void 0 : _opts$createContext.call(opts, (0, import_objectSpread2.default)({
req: opts.req,
resHeaders
}, innerOpts));
};
const url = new URL(opts.req.url);
const pathname = trimSlashes(url.pathname);
const endpoint = trimSlashes(opts.endpoint);
const path = trimSlashes(pathname.slice(endpoint.length));
return await resolveResponse((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, opts), {}, {
req: opts.req,
createContext,
path,
error: null,
onError(o) {
var _opts$onError;
opts === null || opts === void 0 || (_opts$onError = opts.onError) === null || _opts$onError === void 0 || _opts$onError.call(opts, (0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, o), {}, { req: opts.req }));
},
responseMeta(data) {
var _opts$responseMeta;
const meta = (_opts$responseMeta = opts.responseMeta) === null || _opts$responseMeta === void 0 ? void 0 : _opts$responseMeta.call(opts, data);
if (meta === null || meta === void 0 ? void 0 : meta.headers) {
if (meta.headers instanceof Headers) for (const [key, value] of meta.headers.entries()) resHeaders.append(key, value);
else
/**
* @deprecated, delete in v12
*/
for (const [key, value] of Object.entries(meta.headers)) if (Array.isArray(value)) for (const v of value) resHeaders.append(key, v);
else if (typeof value === "string") resHeaders.set(key, value);
}
return {
headers: resHeaders,
status: meta === null || meta === void 0 ? void 0 : meta.status
};
}
}));
}
//#endregion
export { fetchRequestHandler };
//# sourceMappingURL=index.mjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"index.mjs","names":["path: string","opts: FetchHandlerRequestOptions<TRouter>","createContext: ResolveHTTPRequestOptionsContextFn<TRouter>"],"sources":["../../../src/adapters/fetch/fetchRequestHandler.ts"],"sourcesContent":["/**\n * If you're making an adapter for tRPC and looking at this file for reference, you should import types and functions from `@trpc/server` and `@trpc/server/http`\n *\n * @example\n * ```ts\n * import type { AnyTRPCRouter } from '@trpc/server'\n * import type { HTTPBaseHandlerOptions } from '@trpc/server/http'\n * ```\n */\n// @trpc/server\n\nimport type { AnyRouter } from '../../@trpc/server';\nimport type { ResolveHTTPRequestOptionsContextFn } from '../../@trpc/server/http';\nimport { resolveResponse } from '../../@trpc/server/http';\nimport type { FetchHandlerRequestOptions } from './types';\n\nconst trimSlashes = (path: string): string => {\n path = path.startsWith('/') ? path.slice(1) : path;\n path = path.endsWith('/') ? path.slice(0, -1) : path;\n\n return path;\n};\n\nexport async function fetchRequestHandler<TRouter extends AnyRouter>(\n opts: FetchHandlerRequestOptions<TRouter>,\n): Promise<Response> {\n const resHeaders = new Headers();\n\n const createContext: ResolveHTTPRequestOptionsContextFn<TRouter> = async (\n innerOpts,\n ) => {\n return opts.createContext?.({ req: opts.req, resHeaders, ...innerOpts });\n };\n\n const url = new URL(opts.req.url);\n\n const pathname = trimSlashes(url.pathname);\n const endpoint = trimSlashes(opts.endpoint);\n const path = trimSlashes(pathname.slice(endpoint.length));\n\n return await resolveResponse({\n ...opts,\n req: opts.req,\n createContext,\n path,\n error: null,\n onError(o) {\n opts?.onError?.({ ...o, req: opts.req });\n },\n responseMeta(data) {\n const meta = opts.responseMeta?.(data);\n\n if (meta?.headers) {\n if (meta.headers instanceof Headers) {\n for (const [key, value] of meta.headers.entries()) {\n resHeaders.append(key, value);\n }\n } else {\n /**\n * @deprecated, delete in v12\n */\n for (const [key, value] of Object.entries(meta.headers)) {\n if (Array.isArray(value)) {\n for (const v of value) {\n resHeaders.append(key, v);\n }\n } else if (typeof value === 'string') {\n resHeaders.set(key, value);\n }\n }\n }\n }\n\n return {\n headers: resHeaders,\n status: meta?.status,\n };\n },\n });\n}\n"],"mappings":";;;;;;;;AAgBA,MAAM,cAAc,CAACA,SAAyB;AAC5C,QAAO,KAAK,WAAW,IAAI,GAAG,KAAK,MAAM,EAAE,GAAG;AAC9C,QAAO,KAAK,SAAS,IAAI,GAAG,KAAK,MAAM,GAAG,GAAG,GAAG;AAEhD,QAAO;AACR;AAED,eAAsB,oBACpBC,MACmB;CACnB,MAAM,aAAa,IAAI;CAEvB,MAAMC,gBAA6D,OACjE,cACG;;AACH,gCAAO,KAAK,qEAAL;GAAuB,KAAK,KAAK;GAAK;KAAe,WAAY;CACzE;CAED,MAAM,MAAM,IAAI,IAAI,KAAK,IAAI;CAE7B,MAAM,WAAW,YAAY,IAAI,SAAS;CAC1C,MAAM,WAAW,YAAY,KAAK,SAAS;CAC3C,MAAM,OAAO,YAAY,SAAS,MAAM,SAAS,OAAO,CAAC;AAEzD,QAAO,MAAM,wFACR;EACH,KAAK,KAAK;EACV;EACA;EACA,OAAO;EACP,QAAQ,GAAG;;AACT,6DAAM,iDAAN,iGAAqB,UAAG,KAAK,KAAK,OAAM;EACzC;EACD,aAAa,MAAM;;GACjB,MAAM,6BAAO,KAAK,mEAAL,8BAAoB,KAAK;AAEtC,mDAAI,KAAM,SACR;QAAI,KAAK,mBAAmB,QAC1B,MAAK,MAAM,CAAC,KAAK,MAAM,IAAI,KAAK,QAAQ,SAAS,CAC/C,YAAW,OAAO,KAAK,MAAM;;;;;AAM/B,SAAK,MAAM,CAAC,KAAK,MAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,CACrD,KAAI,MAAM,QAAQ,MAAM,CACtB,MAAK,MAAM,KAAK,MACd,YAAW,OAAO,KAAK,EAAE;oBAEX,UAAU,SAC1B,YAAW,IAAI,KAAK,MAAM;GAG/B;AAGH,UAAO;IACL,SAAS;IACT,oDAAQ,KAAM;GACf;EACF;IACD;AACH"}

3290
node_modules/@trpc/server/dist/adapters/next-app-dir.cjs generated vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,58 @@
import "../index.d-BiUz7kM_.cjs";
import { CallerOverride, CreateContextCallback, ErrorHandlerOptions, MaybePromise, Simplify, TRPCError } from "../unstable-core-do-not-import.d-Dm2ii-ih.cjs";
import "../index.d-CvZXeEyR.cjs";
import { RedirectType, notFound as notFound$1 } from "next/navigation";
//#region src/adapters/next-app-dir/nextAppDirCaller.d.ts
/**
* Create a caller that works with Next.js React Server Components & Server Actions
*/
declare function nextAppDirCaller<TContext, TMeta>(config: Simplify<{
/**
* Extract the path from the procedure metadata
*/
pathExtractor?: (opts: {
meta: TMeta;
}) => string;
/**
* Transform form data to a `Record` before passing it to the procedure
* @default true
*/
normalizeFormData?: boolean;
/**
* Called when an error occurs in the handler
*/
onError?: (opts: ErrorHandlerOptions<TContext>) => void;
} & CreateContextCallback<TContext, () => MaybePromise<TContext>>>): CallerOverride<TContext>;
//# sourceMappingURL=nextAppDirCaller.d.ts.map
//#endregion
//#region src/adapters/next-app-dir/redirect.d.ts
/**
* Like `next/navigation`'s `redirect()` but throws a `TRPCError` that later will be handled by Next.js
* This provides better typesafety than the `next/navigation`'s `redirect()` since the action continues
* to execute on the frontend even if Next's `redirect()` has a return type of `never`.
* @public
* @remark You should only use this if you're also using `nextAppDirCaller`.
*/
declare const redirect: (url: URL | string, redirectType?: RedirectType) => undefined;
//# sourceMappingURL=redirect.d.ts.map
//#endregion
//#region src/adapters/next-app-dir/notFound.d.ts
/**
* Like `next/navigation`'s `notFound()` but throws a `TRPCError` that later will be handled by Next.js
* @public
*/
declare const notFound: typeof notFound$1;
//# sourceMappingURL=notFound.d.ts.map
//#endregion
//#region src/adapters/next-app-dir/rethrowNextErrors.d.ts
/**
* Rethrow errors that should be handled by Next.js
*/
declare const rethrowNextErrors: (error: TRPCError) => void;
//# sourceMappingURL=rethrowNextErrors.d.ts.map
//#endregion
export { nextAppDirCaller as experimental_nextAppDirCaller, notFound as experimental_notFound, redirect as experimental_redirect, rethrowNextErrors };
//# sourceMappingURL=next-app-dir.d.cts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"next-app-dir.d.cts","names":[],"sources":["../../src/adapters/next-app-dir/nextAppDirCaller.ts","../../src/adapters/next-app-dir/redirect.ts","../../src/adapters/next-app-dir/notFound.ts","../../src/adapters/next-app-dir/rethrowNextErrors.ts"],"sourcesContent":[],"mappings":";;;;;;;;;AAsBA;AAAgC,iBAAhB,gBAAgB,CAAA,QAAA,EAAA,KAAA,CAAA,CAAA,MAAA,EACtB,QADsB,CAAA;EAAA;;;EAeU,aACZ,CAAA,EAAA,CAAA,IAAA,EAAA;IAA6B,IAAA,EAVtB,KAUsB;EAAQ,CAAA,EAArB,GAAA,MAAA;EAAY;;;;EAEzC,iBAAA,CAAA,EAAA,OAAA;;;;ECdJ,OAAA,CAAA,EAAA,CAGZ,IAAA,EDQsB,mBCRtB,CDQ0C,QCR1C,CAAA,EAAA,GAAA,IAAA;CAAA,GDSO,qBCTP,CDS6B,QCT7B,EAAA,GAAA,GDS6C,YCT7C,CDS0D,QCT1D,CAAA,CAAA,CAAA,CAAA,EDWE,cCXF,CDWiB,QCXjB,CAAA;;;;;;;;;;;ADWiB,cCdL,QDcK,EAAA,CAAA,GAAA,ECdY,GDcZ,GAAA,MAAA,EAAA,YAAA,CAAA,ECdyC,YDczC,EAAA,GAAA,SAAA;;;;;;;;cEjCL,iBAAiB;AFe9B;;;;;;cGuBa,2BAA4B"}

View File

@@ -0,0 +1,58 @@
import "../index.d-D4qZxQJh.mjs";
import { CallerOverride, CreateContextCallback, ErrorHandlerOptions, MaybePromise, Simplify, TRPCError } from "../unstable-core-do-not-import.d-Bl-_61JQ.mjs";
import "../index.d-vq_QHko2.mjs";
import { RedirectType, notFound as notFound$1 } from "next/navigation";
//#region src/adapters/next-app-dir/nextAppDirCaller.d.ts
/**
* Create a caller that works with Next.js React Server Components & Server Actions
*/
declare function nextAppDirCaller<TContext, TMeta>(config: Simplify<{
/**
* Extract the path from the procedure metadata
*/
pathExtractor?: (opts: {
meta: TMeta;
}) => string;
/**
* Transform form data to a `Record` before passing it to the procedure
* @default true
*/
normalizeFormData?: boolean;
/**
* Called when an error occurs in the handler
*/
onError?: (opts: ErrorHandlerOptions<TContext>) => void;
} & CreateContextCallback<TContext, () => MaybePromise<TContext>>>): CallerOverride<TContext>;
//# sourceMappingURL=nextAppDirCaller.d.ts.map
//#endregion
//#region src/adapters/next-app-dir/redirect.d.ts
/**
* Like `next/navigation`'s `redirect()` but throws a `TRPCError` that later will be handled by Next.js
* This provides better typesafety than the `next/navigation`'s `redirect()` since the action continues
* to execute on the frontend even if Next's `redirect()` has a return type of `never`.
* @public
* @remark You should only use this if you're also using `nextAppDirCaller`.
*/
declare const redirect: (url: URL | string, redirectType?: RedirectType) => undefined;
//# sourceMappingURL=redirect.d.ts.map
//#endregion
//#region src/adapters/next-app-dir/notFound.d.ts
/**
* Like `next/navigation`'s `notFound()` but throws a `TRPCError` that later will be handled by Next.js
* @public
*/
declare const notFound: typeof notFound$1;
//# sourceMappingURL=notFound.d.ts.map
//#endregion
//#region src/adapters/next-app-dir/rethrowNextErrors.d.ts
/**
* Rethrow errors that should be handled by Next.js
*/
declare const rethrowNextErrors: (error: TRPCError) => void;
//# sourceMappingURL=rethrowNextErrors.d.ts.map
//#endregion
export { nextAppDirCaller as experimental_nextAppDirCaller, notFound as experimental_notFound, redirect as experimental_redirect, rethrowNextErrors };
//# sourceMappingURL=next-app-dir.d.mts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"next-app-dir.d.mts","names":[],"sources":["../../src/adapters/next-app-dir/nextAppDirCaller.ts","../../src/adapters/next-app-dir/redirect.ts","../../src/adapters/next-app-dir/notFound.ts","../../src/adapters/next-app-dir/rethrowNextErrors.ts"],"sourcesContent":[],"mappings":";;;;;;;;;AAsBA;AAAgC,iBAAhB,gBAAgB,CAAA,QAAA,EAAA,KAAA,CAAA,CAAA,MAAA,EACtB,QADsB,CAAA;EAAA;;;EAeU,aACZ,CAAA,EAAA,CAAA,IAAA,EAAA;IAA6B,IAAA,EAVtB,KAUsB;EAAQ,CAAA,EAArB,GAAA,MAAA;EAAY;;;;EAEzC,iBAAA,CAAA,EAAA,OAAA;;;;ECdJ,OAAA,CAAA,EAAA,CAGZ,IAAA,EDQsB,mBCRtB,CDQ0C,QCR1C,CAAA,EAAA,GAAA,IAAA;CAAA,GDSO,qBCTP,CDS6B,QCT7B,EAAA,GAAA,GDS6C,YCT7C,CDS0D,QCT1D,CAAA,CAAA,CAAA,CAAA,EDWE,cCXF,CDWiB,QCXjB,CAAA;;;;;;;;;;;ADWiB,cCdL,QDcK,EAAA,CAAA,GAAA,ECdY,GDcZ,GAAA,MAAA,EAAA,YAAA,CAAA,ECdyC,YDczC,EAAA,GAAA,SAAA;;;;;;;;cEjCL,iBAAiB;AFe9B;;;;;;cGuBa,2BAA4B"}

3288
node_modules/@trpc/server/dist/adapters/next-app-dir.mjs generated vendored Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

40
node_modules/@trpc/server/dist/adapters/next.cjs generated vendored Normal file
View File

@@ -0,0 +1,40 @@
const require_getErrorShape = require('../getErrorShape-MR4DZeb7.cjs');
const require_codes = require('../codes-BfZsPdy-.cjs');
const require_tracked = require('../tracked-Dj_dpOJE.cjs');
require('../parseTRPCMessage-7Ltmq-Fb.cjs');
require('../resolveResponse-B0CCg8nq.cjs');
require('../contentTypeParsers-iAFF_pJG.cjs');
require('../unstable-core-do-not-import-fsjhEhgh.cjs');
require('../observable-B1Nk6r1H.cjs');
require('../initTRPC-BXPPV9Tx.cjs');
const require_node_http = require('../node-http--mRuNXgJ.cjs');
//#region src/adapters/next.ts
var import_objectSpread2 = require_getErrorShape.__toESM(require_getErrorShape.require_objectSpread2(), 1);
function createNextApiHandler(opts) {
return async (req, res) => {
let path = "";
await require_codes.run(async () => {
path = require_codes.run(() => {
if (typeof req.query["trpc"] === "string") return req.query["trpc"];
if (Array.isArray(req.query["trpc"])) return req.query["trpc"].join("/");
throw new require_tracked.TRPCError({
message: "Query \"trpc\" not found - is the file named `[trpc]`.ts or `[...trpc].ts`?",
code: "INTERNAL_SERVER_ERROR"
});
});
await require_node_http.nodeHTTPRequestHandler((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, opts), {}, {
req,
res,
path
}));
}).catch(require_node_http.internal_exceptionHandler((0, import_objectSpread2.default)({
req,
res,
path
}, opts)));
};
}
//#endregion
exports.createNextApiHandler = createNextApiHandler;

19
node_modules/@trpc/server/dist/adapters/next.d.cts generated vendored Normal file
View File

@@ -0,0 +1,19 @@
import "../index.d-BiUz7kM_.cjs";
import { AnyRouter } from "../unstable-core-do-not-import.d-Dm2ii-ih.cjs";
import "../index.d-CvZXeEyR.cjs";
import { NodeHTTPCreateContextFnOptions, NodeHTTPHandlerOptions } from "../index.d-C8CpwWZN.cjs";
import { NextApiHandler, NextApiHandler as NextApiHandler$1, NextApiRequest, NextApiRequest as NextApiRequest$1, NextApiResponse, NextApiResponse as NextApiResponse$1 } from "next";
//#region src/adapters/next.d.ts
type CreateNextContextOptions = NodeHTTPCreateContextFnOptions<NextApiRequest$1, NextApiResponse$1>;
/**
* Preventing "TypeScript where it's tough not to get "The inferred type of 'xxxx' cannot be named without a reference to [...]"
*/
declare function createNextApiHandler<TRouter extends AnyRouter>(opts: NodeHTTPHandlerOptions<TRouter, NextApiRequest$1, NextApiResponse$1>): NextApiHandler$1;
//# sourceMappingURL=next.d.ts.map
//#endregion
export { CreateNextContextOptions, NextApiHandler, NextApiRequest, NextApiResponse, createNextApiHandler };
//# sourceMappingURL=next.d.cts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"next.d.cts","names":[],"sources":["../../src/adapters/next.ts"],"sourcesContent":[],"mappings":";;;;;;;;AAsBqE,KAAzD,wBAAA,GAA2B,8BAA8B,CACnE,gBADmE,EAEnE,iBAFmE,CAAA;AAUrE;;;;AACwC,iBADxB,oBACwB,CAAA,gBADa,SACb,CAAA,CAAA,IAAA,EAAhC,sBAAgC,CAAT,OAAS,EAAA,gBAAA,EAAgB,iBAAhB,CAAA,CAAA,EACrC,gBADqC"}

19
node_modules/@trpc/server/dist/adapters/next.d.mts generated vendored Normal file
View File

@@ -0,0 +1,19 @@
import "../index.d-D4qZxQJh.mjs";
import { AnyRouter } from "../unstable-core-do-not-import.d-Bl-_61JQ.mjs";
import "../index.d-vq_QHko2.mjs";
import { NodeHTTPCreateContextFnOptions, NodeHTTPHandlerOptions } from "../index.d-Ch63NO6Z.mjs";
import { NextApiHandler, NextApiHandler as NextApiHandler$1, NextApiRequest, NextApiRequest as NextApiRequest$1, NextApiResponse, NextApiResponse as NextApiResponse$1 } from "next";
//#region src/adapters/next.d.ts
type CreateNextContextOptions = NodeHTTPCreateContextFnOptions<NextApiRequest$1, NextApiResponse$1>;
/**
* Preventing "TypeScript where it's tough not to get "The inferred type of 'xxxx' cannot be named without a reference to [...]"
*/
declare function createNextApiHandler<TRouter extends AnyRouter>(opts: NodeHTTPHandlerOptions<TRouter, NextApiRequest$1, NextApiResponse$1>): NextApiHandler$1;
//# sourceMappingURL=next.d.ts.map
//#endregion
export { CreateNextContextOptions, NextApiHandler, NextApiRequest, NextApiResponse, createNextApiHandler };
//# sourceMappingURL=next.d.mts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"next.d.mts","names":[],"sources":["../../src/adapters/next.ts"],"sourcesContent":[],"mappings":";;;;;;;;AAsBqE,KAAzD,wBAAA,GAA2B,8BAA8B,CACnE,gBADmE,EAEnE,iBAFmE,CAAA;AAUrE;;;;AACwC,iBADxB,oBACwB,CAAA,gBADa,SACb,CAAA,CAAA,IAAA,EAAhC,sBAAgC,CAAT,OAAS,EAAA,gBAAA,EAAgB,iBAAhB,CAAA,CAAA,EACrC,gBADqC"}

41
node_modules/@trpc/server/dist/adapters/next.mjs generated vendored Normal file
View File

@@ -0,0 +1,41 @@
import { __toESM, require_objectSpread2 } from "../getErrorShape-vC8mUXJD.mjs";
import { run } from "../codes-DagpWZLc.mjs";
import { TRPCError } from "../tracked-DiE3uR1B.mjs";
import "../parseTRPCMessage-CTow-umk.mjs";
import "../resolveResponse-C5I6V_wc.mjs";
import "../contentTypeParsers-SN4WL9ze.mjs";
import "../unstable-core-do-not-import-9NNw8uQM.mjs";
import "../observable-UMO3vUa_.mjs";
import "../initTRPC-B1ggxyJl.mjs";
import { internal_exceptionHandler, nodeHTTPRequestHandler } from "../node-http-CPiHo2kI.mjs";
//#region src/adapters/next.ts
var import_objectSpread2 = __toESM(require_objectSpread2(), 1);
function createNextApiHandler(opts) {
return async (req, res) => {
let path = "";
await run(async () => {
path = run(() => {
if (typeof req.query["trpc"] === "string") return req.query["trpc"];
if (Array.isArray(req.query["trpc"])) return req.query["trpc"].join("/");
throw new TRPCError({
message: "Query \"trpc\" not found - is the file named `[trpc]`.ts or `[...trpc].ts`?",
code: "INTERNAL_SERVER_ERROR"
});
});
await nodeHTTPRequestHandler((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, opts), {}, {
req,
res,
path
}));
}).catch(internal_exceptionHandler((0, import_objectSpread2.default)({
req,
res,
path
}, opts)));
};
}
//#endregion
export { createNextApiHandler };
//# sourceMappingURL=next.mjs.map

1
node_modules/@trpc/server/dist/adapters/next.mjs.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"next.mjs","names":["opts: NodeHTTPHandlerOptions<TRouter, NextApiRequest, NextApiResponse>"],"sources":["../../src/adapters/next.ts"],"sourcesContent":["/**\n * If you're making an adapter for tRPC and looking at this file for reference, you should import types and functions from `@trpc/server` and `@trpc/server/http`\n *\n * @example\n * ```ts\n * import type { AnyTRPCRouter } from '@trpc/server'\n * import type { HTTPBaseHandlerOptions } from '@trpc/server/http'\n * ```\n */\nimport type { NextApiHandler, NextApiRequest, NextApiResponse } from 'next';\n// @trpc/server\nimport type { AnyRouter } from '../@trpc/server';\n// @trpc/server\nimport { TRPCError } from '../@trpc/server';\n// eslint-disable-next-line no-restricted-imports\nimport { run } from '../unstable-core-do-not-import';\nimport type {\n NodeHTTPCreateContextFnOptions,\n NodeHTTPHandlerOptions,\n} from './node-http';\nimport { internal_exceptionHandler, nodeHTTPRequestHandler } from './node-http';\n\nexport type CreateNextContextOptions = NodeHTTPCreateContextFnOptions<\n NextApiRequest,\n NextApiResponse\n>;\n\n/**\n * Preventing \"TypeScript where it's tough not to get \"The inferred type of 'xxxx' cannot be named without a reference to [...]\"\n */\nexport type { NextApiHandler, NextApiRequest, NextApiResponse } from 'next';\n\nexport function createNextApiHandler<TRouter extends AnyRouter>(\n opts: NodeHTTPHandlerOptions<TRouter, NextApiRequest, NextApiResponse>,\n): NextApiHandler {\n return async (req, res) => {\n let path = '';\n\n await run(async () => {\n path = run(() => {\n if (typeof req.query['trpc'] === 'string') {\n return req.query['trpc'];\n }\n if (Array.isArray(req.query['trpc'])) {\n return req.query['trpc'].join('/');\n }\n throw new TRPCError({\n message:\n 'Query \"trpc\" not found - is the file named `[trpc]`.ts or `[...trpc].ts`?',\n code: 'INTERNAL_SERVER_ERROR',\n });\n });\n\n await nodeHTTPRequestHandler({\n ...(opts as any),\n req,\n res,\n path,\n });\n }).catch(\n internal_exceptionHandler({\n req,\n res,\n path,\n ...opts,\n }),\n );\n };\n}\n"],"mappings":";;;;;;;;;;;;;AAgCA,SAAgB,qBACdA,MACgB;AAChB,QAAO,OAAO,KAAK,QAAQ;EACzB,IAAI,OAAO;AAEX,QAAM,IAAI,YAAY;AACpB,UAAO,IAAI,MAAM;AACf,eAAW,IAAI,MAAM,YAAY,SAC/B,QAAO,IAAI,MAAM;AAEnB,QAAI,MAAM,QAAQ,IAAI,MAAM,QAAQ,CAClC,QAAO,IAAI,MAAM,QAAQ,KAAK,IAAI;AAEpC,UAAM,IAAI,UAAU;KAClB,SACE;KACF,MAAM;IACP;GACF,EAAC;AAEF,SAAM,+FACA;IACJ;IACA;IACA;MACA;EACH,EAAC,CAAC,MACD;GACE;GACA;GACA;KACG,MACH,CACH;CACF;AACF"}

View File

@@ -0,0 +1,15 @@
require('../../getErrorShape-MR4DZeb7.cjs');
require('../../codes-BfZsPdy-.cjs');
require('../../tracked-Dj_dpOJE.cjs');
require('../../parseTRPCMessage-7Ltmq-Fb.cjs');
require('../../resolveResponse-B0CCg8nq.cjs');
require('../../contentTypeParsers-iAFF_pJG.cjs');
require('../../unstable-core-do-not-import-fsjhEhgh.cjs');
require('../../observable-B1Nk6r1H.cjs');
require('../../initTRPC-BXPPV9Tx.cjs');
const require_node_http = require('../../node-http--mRuNXgJ.cjs');
exports.createURL = require_node_http.createURL;
exports.incomingMessageToRequest = require_node_http.incomingMessageToRequest;
exports.internal_exceptionHandler = require_node_http.internal_exceptionHandler;
exports.nodeHTTPRequestHandler = require_node_http.nodeHTTPRequestHandler;

View File

@@ -0,0 +1,5 @@
import "../../index.d-BiUz7kM_.cjs";
import "../../unstable-core-do-not-import.d-Dm2ii-ih.cjs";
import "../../index.d-CvZXeEyR.cjs";
import { NodeHTTPCreateContextFn, NodeHTTPCreateContextFnOptions, NodeHTTPCreateContextOption, NodeHTTPHandlerOptions, NodeHTTPRequest, NodeHTTPRequestHandlerOptions, NodeHTTPResponse, createURL, incomingMessageToRequest, internal_exceptionHandler, nodeHTTPRequestHandler } from "../../index.d-C8CpwWZN.cjs";
export { NodeHTTPCreateContextFn, NodeHTTPCreateContextFnOptions, NodeHTTPCreateContextOption, NodeHTTPHandlerOptions, NodeHTTPRequest, NodeHTTPRequestHandlerOptions, NodeHTTPResponse, createURL, incomingMessageToRequest, internal_exceptionHandler, nodeHTTPRequestHandler };

View File

@@ -0,0 +1,5 @@
import "../../index.d-D4qZxQJh.mjs";
import "../../unstable-core-do-not-import.d-Bl-_61JQ.mjs";
import "../../index.d-vq_QHko2.mjs";
import { NodeHTTPCreateContextFn, NodeHTTPCreateContextFnOptions, NodeHTTPCreateContextOption, NodeHTTPHandlerOptions, NodeHTTPRequest, NodeHTTPRequestHandlerOptions, NodeHTTPResponse, createURL, incomingMessageToRequest, internal_exceptionHandler, nodeHTTPRequestHandler } from "../../index.d-Ch63NO6Z.mjs";
export { NodeHTTPCreateContextFn, NodeHTTPCreateContextFnOptions, NodeHTTPCreateContextOption, NodeHTTPHandlerOptions, NodeHTTPRequest, NodeHTTPRequestHandlerOptions, NodeHTTPResponse, createURL, incomingMessageToRequest, internal_exceptionHandler, nodeHTTPRequestHandler };

View File

@@ -0,0 +1,12 @@
import "../../getErrorShape-vC8mUXJD.mjs";
import "../../codes-DagpWZLc.mjs";
import "../../tracked-DiE3uR1B.mjs";
import "../../parseTRPCMessage-CTow-umk.mjs";
import "../../resolveResponse-C5I6V_wc.mjs";
import "../../contentTypeParsers-SN4WL9ze.mjs";
import "../../unstable-core-do-not-import-9NNw8uQM.mjs";
import "../../observable-UMO3vUa_.mjs";
import "../../initTRPC-B1ggxyJl.mjs";
import { createURL, incomingMessageToRequest, internal_exceptionHandler, nodeHTTPRequestHandler } from "../../node-http-CPiHo2kI.mjs";
export { createURL, incomingMessageToRequest, internal_exceptionHandler, nodeHTTPRequestHandler };

52
node_modules/@trpc/server/dist/adapters/standalone.cjs generated vendored Normal file
View File

@@ -0,0 +1,52 @@
const require_getErrorShape = require('../getErrorShape-MR4DZeb7.cjs');
const require_codes = require('../codes-BfZsPdy-.cjs');
require('../tracked-Dj_dpOJE.cjs');
require('../parseTRPCMessage-7Ltmq-Fb.cjs');
require('../resolveResponse-B0CCg8nq.cjs');
require('../contentTypeParsers-iAFF_pJG.cjs');
require('../unstable-core-do-not-import-fsjhEhgh.cjs');
require('../observable-B1Nk6r1H.cjs');
require('../initTRPC-BXPPV9Tx.cjs');
const require_node_http = require('../node-http--mRuNXgJ.cjs');
const http = require_getErrorShape.__toESM(require("http"));
//#region src/adapters/standalone.ts
var import_objectSpread2 = require_getErrorShape.__toESM(require_getErrorShape.require_objectSpread2(), 1);
function createHandler(opts) {
var _opts$basePath;
const basePath = (_opts$basePath = opts.basePath) !== null && _opts$basePath !== void 0 ? _opts$basePath : "/";
const sliceLength = basePath.length;
return (req, res) => {
let path = "";
require_codes.run(async () => {
const url = require_node_http.createURL(req);
path = url.pathname.slice(sliceLength);
await require_node_http.nodeHTTPRequestHandler((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, opts), {}, {
req,
res,
path
}));
}).catch(require_node_http.internal_exceptionHandler((0, import_objectSpread2.default)({
req,
res,
path
}, opts)));
};
}
/**
* @internal
*/
function createHTTPHandler(opts) {
return createHandler(opts);
}
function createHTTPServer(opts) {
return http.default.createServer(createHTTPHandler(opts));
}
function createHTTP2Handler(opts) {
return createHandler(opts);
}
//#endregion
exports.createHTTP2Handler = createHTTP2Handler;
exports.createHTTPHandler = createHTTPHandler;
exports.createHTTPServer = createHTTPServer;

View File

@@ -0,0 +1,33 @@
import "../index.d-BiUz7kM_.cjs";
import { AnyRouter } from "../unstable-core-do-not-import.d-Dm2ii-ih.cjs";
import "../index.d-CvZXeEyR.cjs";
import { NodeHTTPCreateContextFnOptions, NodeHTTPHandlerOptions, NodeHTTPRequest, NodeHTTPResponse } from "../index.d-C8CpwWZN.cjs";
import http from "http";
import * as http2 from "http2";
//#region src/adapters/standalone.d.ts
type StandaloneHandlerOptions<TRouter extends AnyRouter, TRequest extends NodeHTTPRequest, TResponse extends NodeHTTPResponse> = NodeHTTPHandlerOptions<TRouter, TRequest, TResponse> & {
/**
* The base path to handle requests for.
* This will be sliced from the beginning of the request path
* (Do not miss including the trailing slash)
* @default '/'
* @example '/trpc/'
* @example '/trpc/api/'
*/
basePath?: string;
};
type CreateHTTPHandlerOptions<TRouter extends AnyRouter> = StandaloneHandlerOptions<TRouter, http.IncomingMessage, http.ServerResponse>;
type CreateHTTPContextOptions = NodeHTTPCreateContextFnOptions<http.IncomingMessage, http.ServerResponse>;
/**
* @internal
*/
declare function createHTTPHandler<TRouter extends AnyRouter>(opts: CreateHTTPHandlerOptions<TRouter>): http.RequestListener;
declare function createHTTPServer<TRouter extends AnyRouter>(opts: CreateHTTPHandlerOptions<TRouter>): http.Server<typeof http.IncomingMessage, typeof http.ServerResponse>;
type CreateHTTP2HandlerOptions<TRouter extends AnyRouter> = StandaloneHandlerOptions<TRouter, http2.Http2ServerRequest, http2.Http2ServerResponse>;
type CreateHTTP2ContextOptions = NodeHTTPCreateContextFnOptions<http2.Http2ServerRequest, http2.Http2ServerResponse>;
declare function createHTTP2Handler(opts: CreateHTTP2HandlerOptions<AnyRouter>): (req: http2.Http2ServerRequest, res: http2.Http2ServerResponse<http2.Http2ServerRequest>) => void;
//#endregion
export { CreateHTTP2ContextOptions, CreateHTTP2HandlerOptions, CreateHTTPContextOptions, CreateHTTPHandlerOptions, createHTTP2Handler, createHTTPHandler, createHTTPServer };
//# sourceMappingURL=standalone.d.cts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"standalone.d.cts","names":[],"sources":["../../src/adapters/standalone.ts"],"sourcesContent":[],"mappings":";;;;;;;;;KA6BK,wBAIsB,CAAA,gBAHT,SAGS,EAAA,iBAFR,eAEQ,EAAA,kBADP,gBACO,CAAA,GAAvB,sBAAuB,CAAA,OAAA,EAAS,QAAT,EAAmB,SAAnB,CAAA,GAAA;EAAO;;;AAAR;AAa1B;;;;EACkC,QAAO,CAAA,EAAA,MAAA;CAAe;AAAtD,KADU,wBACV,CAAA,gBADmD,SACnD,CAAA,GAAA,wBAAA,CAAyB,OAAzB,EAAkC,IAAA,CAAK,eAAvC,EAAwD,IAAA,CAAK,cAA7D,CAAA;AAAwB,KAEd,wBAAA,GAA2B,8BAFb,CAGxB,IAAA,CAAK,eAHmB,EAIxB,IAAA,CAAK,cAJmB,CAAA;AAE1B;;;AAEE,iBA0Cc,iBA1CT,CAAA,gBA0C2C,SA1C3C,CAAA,CAAA,IAAA,EA2CC,wBA3CD,CA2C0B,OA3C1B,CAAA,CAAA,EA4CJ,IAAA,CAAK,eA5CD;AAFgC,iBAkDvB,gBAlDuB,CAAA,gBAkDU,SAlDV,CAAA,CAAA,IAAA,EAmD/B,wBAnD+B,CAmDN,OAnDM,CAAA,CAAA,EAmDE,IAAA,CAAA,MAnDF,CAAA,OAmDE,IAAA,CAAA,eAnDF,EAAA,OAmDE,IAAA,CAAA,cAnDF,CAAA;AAA8B,KAyDzD,yBAzDyD,CAAA,gBAyDf,SAzDe,CAAA,GA0DnE,wBA1DmE,CA2DjE,OA3DiE,EA4DjE,KAAA,CAAM,kBA5D2D,EA6DjE,KAAA,CAAM,mBA7D2D,CAAA;AA4CrD,KAoBJ,yBAAA,GAA4B,8BApBP,CAqB/B,KAAA,CAAM,kBArByB,EAsB/B,KAAA,CAAM,mBAtByB,CAAA;AAAA,iBAyBjB,kBAAA,CAzBiB,IAAA,EAyBQ,yBAzBR,CAyBkC,SAzBlC,CAAA,CAAA,EAAA,CAAA,GAAA,EAyB4C,KAAA,CAAA,kBAzB5C,EAAA,GAAA,EAyB4C,KAAA,CAAA,mBAzB5C,CAyB4C,KAAA,CAAA,kBAzB5C,CAAA,EAAA,GAAA,IAAA"}

View File

@@ -0,0 +1,33 @@
import "../index.d-D4qZxQJh.mjs";
import { AnyRouter } from "../unstable-core-do-not-import.d-Bl-_61JQ.mjs";
import "../index.d-vq_QHko2.mjs";
import { NodeHTTPCreateContextFnOptions, NodeHTTPHandlerOptions, NodeHTTPRequest, NodeHTTPResponse } from "../index.d-Ch63NO6Z.mjs";
import http from "http";
import * as http2 from "http2";
//#region src/adapters/standalone.d.ts
type StandaloneHandlerOptions<TRouter extends AnyRouter, TRequest extends NodeHTTPRequest, TResponse extends NodeHTTPResponse> = NodeHTTPHandlerOptions<TRouter, TRequest, TResponse> & {
/**
* The base path to handle requests for.
* This will be sliced from the beginning of the request path
* (Do not miss including the trailing slash)
* @default '/'
* @example '/trpc/'
* @example '/trpc/api/'
*/
basePath?: string;
};
type CreateHTTPHandlerOptions<TRouter extends AnyRouter> = StandaloneHandlerOptions<TRouter, http.IncomingMessage, http.ServerResponse>;
type CreateHTTPContextOptions = NodeHTTPCreateContextFnOptions<http.IncomingMessage, http.ServerResponse>;
/**
* @internal
*/
declare function createHTTPHandler<TRouter extends AnyRouter>(opts: CreateHTTPHandlerOptions<TRouter>): http.RequestListener;
declare function createHTTPServer<TRouter extends AnyRouter>(opts: CreateHTTPHandlerOptions<TRouter>): http.Server<typeof http.IncomingMessage, typeof http.ServerResponse>;
type CreateHTTP2HandlerOptions<TRouter extends AnyRouter> = StandaloneHandlerOptions<TRouter, http2.Http2ServerRequest, http2.Http2ServerResponse>;
type CreateHTTP2ContextOptions = NodeHTTPCreateContextFnOptions<http2.Http2ServerRequest, http2.Http2ServerResponse>;
declare function createHTTP2Handler(opts: CreateHTTP2HandlerOptions<AnyRouter>): (req: http2.Http2ServerRequest, res: http2.Http2ServerResponse<http2.Http2ServerRequest>) => void;
//#endregion
export { CreateHTTP2ContextOptions, CreateHTTP2HandlerOptions, CreateHTTPContextOptions, CreateHTTPHandlerOptions, createHTTP2Handler, createHTTPHandler, createHTTPServer };
//# sourceMappingURL=standalone.d.mts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"standalone.d.mts","names":[],"sources":["../../src/adapters/standalone.ts"],"sourcesContent":[],"mappings":";;;;;;;;;KA6BK,wBAIsB,CAAA,gBAHT,SAGS,EAAA,iBAFR,eAEQ,EAAA,kBADP,gBACO,CAAA,GAAvB,sBAAuB,CAAA,OAAA,EAAS,QAAT,EAAmB,SAAnB,CAAA,GAAA;EAAO;;;AAAR;AAa1B;;;;EACkC,QAAO,CAAA,EAAA,MAAA;CAAe;AAAtD,KADU,wBACV,CAAA,gBADmD,SACnD,CAAA,GAAA,wBAAA,CAAyB,OAAzB,EAAkC,IAAA,CAAK,eAAvC,EAAwD,IAAA,CAAK,cAA7D,CAAA;AAAwB,KAEd,wBAAA,GAA2B,8BAFb,CAGxB,IAAA,CAAK,eAHmB,EAIxB,IAAA,CAAK,cAJmB,CAAA;AAE1B;;;AAEE,iBA0Cc,iBA1CT,CAAA,gBA0C2C,SA1C3C,CAAA,CAAA,IAAA,EA2CC,wBA3CD,CA2C0B,OA3C1B,CAAA,CAAA,EA4CJ,IAAA,CAAK,eA5CD;AAFgC,iBAkDvB,gBAlDuB,CAAA,gBAkDU,SAlDV,CAAA,CAAA,IAAA,EAmD/B,wBAnD+B,CAmDN,OAnDM,CAAA,CAAA,EAmDE,IAAA,CAAA,MAnDF,CAAA,OAmDE,IAAA,CAAA,eAnDF,EAAA,OAmDE,IAAA,CAAA,cAnDF,CAAA;AAA8B,KAyDzD,yBAzDyD,CAAA,gBAyDf,SAzDe,CAAA,GA0DnE,wBA1DmE,CA2DjE,OA3DiE,EA4DjE,KAAA,CAAM,kBA5D2D,EA6DjE,KAAA,CAAM,mBA7D2D,CAAA;AA4CrD,KAoBJ,yBAAA,GAA4B,8BApBP,CAqB/B,KAAA,CAAM,kBArByB,EAsB/B,KAAA,CAAM,mBAtByB,CAAA;AAAA,iBAyBjB,kBAAA,CAzBiB,IAAA,EAyBQ,yBAzBR,CAyBkC,SAzBlC,CAAA,CAAA,EAAA,CAAA,GAAA,EAyB4C,KAAA,CAAA,kBAzB5C,EAAA,GAAA,EAyB4C,KAAA,CAAA,mBAzB5C,CAyB4C,KAAA,CAAA,kBAzB5C,CAAA,EAAA,GAAA,IAAA"}

51
node_modules/@trpc/server/dist/adapters/standalone.mjs generated vendored Normal file
View File

@@ -0,0 +1,51 @@
import { __toESM, require_objectSpread2 } from "../getErrorShape-vC8mUXJD.mjs";
import { run } from "../codes-DagpWZLc.mjs";
import "../tracked-DiE3uR1B.mjs";
import "../parseTRPCMessage-CTow-umk.mjs";
import "../resolveResponse-C5I6V_wc.mjs";
import "../contentTypeParsers-SN4WL9ze.mjs";
import "../unstable-core-do-not-import-9NNw8uQM.mjs";
import "../observable-UMO3vUa_.mjs";
import "../initTRPC-B1ggxyJl.mjs";
import { createURL, internal_exceptionHandler, nodeHTTPRequestHandler } from "../node-http-CPiHo2kI.mjs";
import http from "http";
//#region src/adapters/standalone.ts
var import_objectSpread2 = __toESM(require_objectSpread2(), 1);
function createHandler(opts) {
var _opts$basePath;
const basePath = (_opts$basePath = opts.basePath) !== null && _opts$basePath !== void 0 ? _opts$basePath : "/";
const sliceLength = basePath.length;
return (req, res) => {
let path = "";
run(async () => {
const url = createURL(req);
path = url.pathname.slice(sliceLength);
await nodeHTTPRequestHandler((0, import_objectSpread2.default)((0, import_objectSpread2.default)({}, opts), {}, {
req,
res,
path
}));
}).catch(internal_exceptionHandler((0, import_objectSpread2.default)({
req,
res,
path
}, opts)));
};
}
/**
* @internal
*/
function createHTTPHandler(opts) {
return createHandler(opts);
}
function createHTTPServer(opts) {
return http.createServer(createHTTPHandler(opts));
}
function createHTTP2Handler(opts) {
return createHandler(opts);
}
//#endregion
export { createHTTP2Handler, createHTTPHandler, createHTTPServer };
//# sourceMappingURL=standalone.mjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"standalone.mjs","names":["opts: StandaloneHandlerOptions<TRouter, TRequest, TResponse>","opts: CreateHTTPHandlerOptions<TRouter>","opts: CreateHTTP2HandlerOptions<AnyRouter>"],"sources":["../../src/adapters/standalone.ts"],"sourcesContent":["/**\n * If you're making an adapter for tRPC and looking at this file for reference, you should import types and functions from `@trpc/server` and `@trpc/server/http`\n *\n * @example\n * ```ts\n * import type { AnyTRPCRouter } from '@trpc/server'\n * import type { HTTPBaseHandlerOptions } from '@trpc/server/http'\n * ```\n */\n\nimport http from 'http';\n// --- http2 ---\nimport type * as http2 from 'http2';\n// @trpc/server\nimport { type AnyRouter } from '../@trpc/server';\n// eslint-disable-next-line no-restricted-imports\nimport { run } from '../unstable-core-do-not-import';\nimport type {\n NodeHTTPCreateContextFnOptions,\n NodeHTTPHandlerOptions,\n NodeHTTPRequest,\n NodeHTTPResponse,\n} from './node-http';\nimport {\n createURL,\n internal_exceptionHandler,\n nodeHTTPRequestHandler,\n} from './node-http';\n\ntype StandaloneHandlerOptions<\n TRouter extends AnyRouter,\n TRequest extends NodeHTTPRequest,\n TResponse extends NodeHTTPResponse,\n> = NodeHTTPHandlerOptions<TRouter, TRequest, TResponse> & {\n /**\n * The base path to handle requests for.\n * This will be sliced from the beginning of the request path\n * (Do not miss including the trailing slash)\n * @default '/'\n * @example '/trpc/'\n * @example '/trpc/api/'\n */\n basePath?: string;\n};\n\n// --- http1 ---\nexport type CreateHTTPHandlerOptions<TRouter extends AnyRouter> =\n StandaloneHandlerOptions<TRouter, http.IncomingMessage, http.ServerResponse>;\n\nexport type CreateHTTPContextOptions = NodeHTTPCreateContextFnOptions<\n http.IncomingMessage,\n http.ServerResponse\n>;\n\nfunction createHandler<\n TRouter extends AnyRouter,\n TRequest extends NodeHTTPRequest,\n TResponse extends NodeHTTPResponse,\n>(\n opts: StandaloneHandlerOptions<TRouter, TRequest, TResponse>,\n): (req: TRequest, res: TResponse) => void {\n const basePath = opts.basePath ?? '/';\n const sliceLength = basePath.length;\n\n return (req, res) => {\n let path = '';\n\n run(async () => {\n const url = createURL(req);\n\n // get procedure(s) path and remove the leading slash\n path = url.pathname.slice(sliceLength);\n\n await nodeHTTPRequestHandler({\n ...(opts as any),\n req,\n res,\n path,\n });\n }).catch(\n internal_exceptionHandler({\n req,\n res,\n path,\n ...opts,\n }),\n );\n };\n}\n\n/**\n * @internal\n */\nexport function createHTTPHandler<TRouter extends AnyRouter>(\n opts: CreateHTTPHandlerOptions<TRouter>,\n): http.RequestListener {\n return createHandler(opts);\n}\n\nexport function createHTTPServer<TRouter extends AnyRouter>(\n opts: CreateHTTPHandlerOptions<TRouter>,\n) {\n return http.createServer(createHTTPHandler(opts));\n}\n\n// --- http2 ---\nexport type CreateHTTP2HandlerOptions<TRouter extends AnyRouter> =\n StandaloneHandlerOptions<\n TRouter,\n http2.Http2ServerRequest,\n http2.Http2ServerResponse\n >;\n\nexport type CreateHTTP2ContextOptions = NodeHTTPCreateContextFnOptions<\n http2.Http2ServerRequest,\n http2.Http2ServerResponse\n>;\n\nexport function createHTTP2Handler(opts: CreateHTTP2HandlerOptions<AnyRouter>) {\n return createHandler(opts);\n}\n"],"mappings":";;;;;;;;;;;;;;AAsDA,SAAS,cAKPA,MACyC;;CACzC,MAAM,6BAAW,KAAK,mEAAY;CAClC,MAAM,cAAc,SAAS;AAE7B,QAAO,CAAC,KAAK,QAAQ;EACnB,IAAI,OAAO;AAEX,MAAI,YAAY;GACd,MAAM,MAAM,UAAU,IAAI;AAG1B,UAAO,IAAI,SAAS,MAAM,YAAY;AAEtC,SAAM,+FACA;IACJ;IACA;IACA;MACA;EACH,EAAC,CAAC,MACD;GACE;GACA;GACA;KACG,MACH,CACH;CACF;AACF;;;;AAKD,SAAgB,kBACdC,MACsB;AACtB,QAAO,cAAc,KAAK;AAC3B;AAED,SAAgB,iBACdA,MACA;AACA,QAAO,KAAK,aAAa,kBAAkB,KAAK,CAAC;AAClD;AAeD,SAAgB,mBAAmBC,MAA4C;AAC7E,QAAO,cAAc,KAAK;AAC3B"}

18
node_modules/@trpc/server/dist/adapters/ws.cjs generated vendored Normal file
View File

@@ -0,0 +1,18 @@
require('../getErrorShape-MR4DZeb7.cjs');
require('../codes-BfZsPdy-.cjs');
require('../tracked-Dj_dpOJE.cjs');
require('../parseTRPCMessage-7Ltmq-Fb.cjs');
require('../resolveResponse-B0CCg8nq.cjs');
require('../contentTypeParsers-iAFF_pJG.cjs');
require('../unstable-core-do-not-import-fsjhEhgh.cjs');
require('../observable-B1Nk6r1H.cjs');
require('../initTRPC-BXPPV9Tx.cjs');
require('../http-DXy3XyhL.cjs');
require('../node-http--mRuNXgJ.cjs');
require('../observable-BVzLuBs6.cjs');
const require_ws = require('../ws-37hDrozF.cjs');
exports.applyWSSHandler = require_ws.applyWSSHandler;
exports.getWSConnectionHandler = require_ws.getWSConnectionHandler;
exports.handleKeepAlive = require_ws.handleKeepAlive;
exports.jsonEncoder = require_ws.jsonEncoder;

90
node_modules/@trpc/server/dist/adapters/ws.d.cts generated vendored Normal file
View File

@@ -0,0 +1,90 @@
import "../index.d-BiUz7kM_.cjs";
import { AnyRouter, BaseHandlerOptions, CreateContextCallback, MaybePromise, inferRouterContext } from "../unstable-core-do-not-import.d-Dm2ii-ih.cjs";
import "../index.d-CvZXeEyR.cjs";
import { NodeHTTPCreateContextFnOptions } from "../index.d-C8CpwWZN.cjs";
import { IncomingMessage } from "http";
import ws from "ws";
//#region src/adapters/wsEncoder.d.ts
/**
* Encoder for WebSocket wire format.
* Encodes outgoing messages and decodes incoming messages.
*
* @example
* ```ts
* const customEncoder: Encoder = {
* encode: (data) => myFormat.stringify(data),
* decode: (data) => myFormat.parse(data),
* };
* ```
*/
interface Encoder {
/** Encode data for transmission over the wire */
encode(data: unknown): string | Uint8Array;
/** Decode data received from the wire */
decode(data: string | ArrayBuffer | Uint8Array): unknown;
}
/**
* Default JSON encoder - used when no encoder is specified.
* This maintains backwards compatibility with existing behavior.
*/
declare const jsonEncoder: Encoder;
//# sourceMappingURL=wsEncoder.d.ts.map
//#endregion
//#region src/adapters/ws.d.ts
/**
* @public
*/
type CreateWSSContextFnOptions = NodeHTTPCreateContextFnOptions<IncomingMessage, ws.WebSocket>;
/**
* @public
*/
type CreateWSSContextFn<TRouter extends AnyRouter> = (opts: CreateWSSContextFnOptions) => MaybePromise<inferRouterContext<TRouter>>;
type WSConnectionHandlerOptions<TRouter extends AnyRouter> = BaseHandlerOptions<TRouter, IncomingMessage> & CreateContextCallback<inferRouterContext<TRouter>, CreateWSSContextFn<TRouter>>;
/**
* Web socket server handler
*/
type WSSHandlerOptions<TRouter extends AnyRouter> = WSConnectionHandlerOptions<TRouter> & {
wss: ws.WebSocketServer;
prefix?: string;
keepAlive?: {
/**
* Enable heartbeat messages
* @default false
*/
enabled: boolean;
/**
* Heartbeat interval in milliseconds
* @default 30_000
*/
pingMs?: number;
/**
* Terminate the WebSocket if no pong is received after this many milliseconds
* @default 5_000
*/
pongWaitMs?: number;
};
/**
* Disable responding to ping messages from the client
* **Not recommended** - this is mainly used for testing
* @default false
*/
dangerouslyDisablePong?: boolean;
/**
* Custom encoder for wire encoding (e.g. custom binary formats)
* @default jsonEncoder
*/
experimental_encoder?: Encoder;
};
declare function getWSConnectionHandler<TRouter extends AnyRouter>(opts: WSSHandlerOptions<TRouter>): (client: ws.WebSocket, req: IncomingMessage) => void;
/**
* Handle WebSocket keep-alive messages
*/
declare function handleKeepAlive(client: ws.WebSocket, pingMs?: number, pongWaitMs?: number): void;
declare function applyWSSHandler<TRouter extends AnyRouter>(opts: WSSHandlerOptions<TRouter>): {
broadcastReconnectNotification: () => void;
};
//#endregion
export { CreateWSSContextFn, CreateWSSContextFnOptions, Encoder, WSConnectionHandlerOptions, WSSHandlerOptions, applyWSSHandler, getWSConnectionHandler, handleKeepAlive, jsonEncoder };
//# sourceMappingURL=ws.d.cts.map

1
node_modules/@trpc/server/dist/adapters/ws.d.cts.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"ws.d.cts","names":[],"sources":["../../src/adapters/wsEncoder.ts","../../src/adapters/ws.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;AAYA;;;;AAIsC,UAJrB,OAAA,CAIqB;EAAU;EAOnC,MAAA,CAAA,IAAA,EAAA,OAWZ,CAAA,EAAA,MAXyB,GATQ,UAoBjC;;wBAlBuB,cAAc;;ACqCtC;;;;AAAwC,cD9B3B,WC8B2B,ED9Bd,OC8Bc;AAA8B;;;;ADzCtE;;AAEkC,KCuCtB,yBAAA,GAA4B,8BDvCN,CCwChC,eDxCgC,ECyChC,EAAA,CAAG,SDzC6B,CAAA;;;AAEc;AAOnC,KCsCD,kBDtCc,CAAA,gBCsCqB,SD3B9C,CAAA,GAAA,CAAA,IAAA,EC4BO,yBD5BP,EAAA,GC6BI,YD7BJ,CC6BiB,kBD7BjB,CC6BoC,OD7BpC,CAAA,CAAA;KC+BW,2CAA2C,aACrD,mBAAmB,SAAS,mBAC1B,sBACE,mBAAmB,UACnB,mBAAmB;;;AAhBzB;AAAqC,KAsBzB,iBAtByB,CAAA,gBAsBS,SAtBT,CAAA,GAuBnC,0BAvBmC,CAuBR,OAvBQ,CAAA,GAAA;EAAA,GACnC,EAuBO,EAAA,CAAG,eAvBV;EAAe,MACZ,CAAA,EAAA,MAAA;EAAS,SAF0B,CAAA,EAAA;IAA8B;AAQtE;;;IACQ,OAAA,EAAA,OAAA;IAC6B;;;AAApB;IAEL,MAAA,CAAA,EAAA,MAAA;IAA0B;;;;IACpC,UAAA,CAAA,EAAA,MAAA;EAAkB,CAAA;EAEY;;;;AADP;EAQb,sBAAiB,CAAA,EAAA,OAAA;EAAA;;;;EACD,oBAChB,CAAA,EA6Be,OA7Bf;CAAe;AA6BO,iBAGlB,sBAHkB,CAAA,gBAGqB,SAHrB,CAAA,CAAA,IAAA,EAI1B,iBAJ0B,CAIR,OAJQ,CAAA,CAAA,EAAA,CAAA,MAAA,EAUhB,EAAA,CAAG,SAVa,EAAA,GAAA,EAUG,eAVH,EAAA,GAAA,IAAA;AAGlC;;;AAC0B,iBAidV,eAAA,CAjdU,MAAA,EAkdhB,EAAA,CAAG,SAlda,EAAA,MAAA,CAAA,EAAA,MAAA,EAAA,UAAA,CAAA,EAAA,MAAA,CAAA,EAAA,IAAA;AAAlB,iBAufQ,eAvfR,CAAA,gBAufwC,SAvfxC,CAAA,CAAA,IAAA,EAwfA,iBAxfA,CAwfkB,OAxflB,CAAA,CAAA,EAAA;EAAiB,8BAMJ,EAAA,GAAA,GAAA,IAAA;CAAS"}

90
node_modules/@trpc/server/dist/adapters/ws.d.mts generated vendored Normal file
View File

@@ -0,0 +1,90 @@
import "../index.d-D4qZxQJh.mjs";
import { AnyRouter, BaseHandlerOptions, CreateContextCallback, MaybePromise, inferRouterContext } from "../unstable-core-do-not-import.d-Bl-_61JQ.mjs";
import "../index.d-vq_QHko2.mjs";
import { NodeHTTPCreateContextFnOptions } from "../index.d-Ch63NO6Z.mjs";
import { IncomingMessage } from "http";
import ws from "ws";
//#region src/adapters/wsEncoder.d.ts
/**
* Encoder for WebSocket wire format.
* Encodes outgoing messages and decodes incoming messages.
*
* @example
* ```ts
* const customEncoder: Encoder = {
* encode: (data) => myFormat.stringify(data),
* decode: (data) => myFormat.parse(data),
* };
* ```
*/
interface Encoder {
/** Encode data for transmission over the wire */
encode(data: unknown): string | Uint8Array;
/** Decode data received from the wire */
decode(data: string | ArrayBuffer | Uint8Array): unknown;
}
/**
* Default JSON encoder - used when no encoder is specified.
* This maintains backwards compatibility with existing behavior.
*/
declare const jsonEncoder: Encoder;
//# sourceMappingURL=wsEncoder.d.ts.map
//#endregion
//#region src/adapters/ws.d.ts
/**
* @public
*/
type CreateWSSContextFnOptions = NodeHTTPCreateContextFnOptions<IncomingMessage, ws.WebSocket>;
/**
* @public
*/
type CreateWSSContextFn<TRouter extends AnyRouter> = (opts: CreateWSSContextFnOptions) => MaybePromise<inferRouterContext<TRouter>>;
type WSConnectionHandlerOptions<TRouter extends AnyRouter> = BaseHandlerOptions<TRouter, IncomingMessage> & CreateContextCallback<inferRouterContext<TRouter>, CreateWSSContextFn<TRouter>>;
/**
* Web socket server handler
*/
type WSSHandlerOptions<TRouter extends AnyRouter> = WSConnectionHandlerOptions<TRouter> & {
wss: ws.WebSocketServer;
prefix?: string;
keepAlive?: {
/**
* Enable heartbeat messages
* @default false
*/
enabled: boolean;
/**
* Heartbeat interval in milliseconds
* @default 30_000
*/
pingMs?: number;
/**
* Terminate the WebSocket if no pong is received after this many milliseconds
* @default 5_000
*/
pongWaitMs?: number;
};
/**
* Disable responding to ping messages from the client
* **Not recommended** - this is mainly used for testing
* @default false
*/
dangerouslyDisablePong?: boolean;
/**
* Custom encoder for wire encoding (e.g. custom binary formats)
* @default jsonEncoder
*/
experimental_encoder?: Encoder;
};
declare function getWSConnectionHandler<TRouter extends AnyRouter>(opts: WSSHandlerOptions<TRouter>): (client: ws.WebSocket, req: IncomingMessage) => void;
/**
* Handle WebSocket keep-alive messages
*/
declare function handleKeepAlive(client: ws.WebSocket, pingMs?: number, pongWaitMs?: number): void;
declare function applyWSSHandler<TRouter extends AnyRouter>(opts: WSSHandlerOptions<TRouter>): {
broadcastReconnectNotification: () => void;
};
//#endregion
export { CreateWSSContextFn, CreateWSSContextFnOptions, Encoder, WSConnectionHandlerOptions, WSSHandlerOptions, applyWSSHandler, getWSConnectionHandler, handleKeepAlive, jsonEncoder };
//# sourceMappingURL=ws.d.mts.map

1
node_modules/@trpc/server/dist/adapters/ws.d.mts.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"ws.d.mts","names":[],"sources":["../../src/adapters/wsEncoder.ts","../../src/adapters/ws.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;AAYA;;;;AAIsC,UAJrB,OAAA,CAIqB;EAAU;EAOnC,MAAA,CAAA,IAAA,EAAA,OAWZ,CAAA,EAAA,MAXyB,GATQ,UAoBjC;;wBAlBuB,cAAc;;ACqCtC;;;;AAAwC,cD9B3B,WC8B2B,ED9Bd,OC8Bc;AAA8B;;;;ADzCtE;;AAEkC,KCuCtB,yBAAA,GAA4B,8BDvCN,CCwChC,eDxCgC,ECyChC,EAAA,CAAG,SDzC6B,CAAA;;;AAEc;AAOnC,KCsCD,kBDtCc,CAAA,gBCsCqB,SD3B9C,CAAA,GAAA,CAAA,IAAA,EC4BO,yBD5BP,EAAA,GC6BI,YD7BJ,CC6BiB,kBD7BjB,CC6BoC,OD7BpC,CAAA,CAAA;KC+BW,2CAA2C,aACrD,mBAAmB,SAAS,mBAC1B,sBACE,mBAAmB,UACnB,mBAAmB;;;AAhBzB;AAAqC,KAsBzB,iBAtByB,CAAA,gBAsBS,SAtBT,CAAA,GAuBnC,0BAvBmC,CAuBR,OAvBQ,CAAA,GAAA;EAAA,GACnC,EAuBO,EAAA,CAAG,eAvBV;EAAe,MACZ,CAAA,EAAA,MAAA;EAAS,SAF0B,CAAA,EAAA;IAA8B;AAQtE;;;IACQ,OAAA,EAAA,OAAA;IAC6B;;;AAApB;IAEL,MAAA,CAAA,EAAA,MAAA;IAA0B;;;;IACpC,UAAA,CAAA,EAAA,MAAA;EAAkB,CAAA;EAEY;;;;AADP;EAQb,sBAAiB,CAAA,EAAA,OAAA;EAAA;;;;EACD,oBAChB,CAAA,EA6Be,OA7Bf;CAAe;AA6BO,iBAGlB,sBAHkB,CAAA,gBAGqB,SAHrB,CAAA,CAAA,IAAA,EAI1B,iBAJ0B,CAIR,OAJQ,CAAA,CAAA,EAAA,CAAA,MAAA,EAUhB,EAAA,CAAG,SAVa,EAAA,GAAA,EAUG,eAVH,EAAA,GAAA,IAAA;AAGlC;;;AAC0B,iBAidV,eAAA,CAjdU,MAAA,EAkdhB,EAAA,CAAG,SAlda,EAAA,MAAA,CAAA,EAAA,MAAA,EAAA,UAAA,CAAA,EAAA,MAAA,CAAA,EAAA,IAAA;AAAlB,iBAufQ,eAvfR,CAAA,gBAufwC,SAvfxC,CAAA,CAAA,IAAA,EAwfA,iBAxfA,CAwfkB,OAxflB,CAAA,CAAA,EAAA;EAAiB,8BAMJ,EAAA,GAAA,GAAA,IAAA;CAAS"}

15
node_modules/@trpc/server/dist/adapters/ws.mjs generated vendored Normal file
View File

@@ -0,0 +1,15 @@
import "../getErrorShape-vC8mUXJD.mjs";
import "../codes-DagpWZLc.mjs";
import "../tracked-DiE3uR1B.mjs";
import "../parseTRPCMessage-CTow-umk.mjs";
import "../resolveResponse-C5I6V_wc.mjs";
import "../contentTypeParsers-SN4WL9ze.mjs";
import "../unstable-core-do-not-import-9NNw8uQM.mjs";
import "../observable-UMO3vUa_.mjs";
import "../initTRPC-B1ggxyJl.mjs";
import "../http-CWyjOa1l.mjs";
import "../node-http-CPiHo2kI.mjs";
import "../observable-CUiPknO-.mjs";
import { applyWSSHandler, getWSConnectionHandler, handleKeepAlive, jsonEncoder } from "../ws-CnhJbg02.mjs";
export { applyWSSHandler, getWSConnectionHandler, handleKeepAlive, jsonEncoder };