* chore: migrate trpc, ssgInit, ssrInit * intuita codemod: remove-get-static-props * intuita codemod: app-directory-boilerplate-calcom * manual: refactor and add title/description metadata * intuita codemod: app-directory-boilerplate-calcom * manual: refactor and add metadata * manual: add ab test redirect * fix: restore emails * fix linter and ts issues --------- Co-authored-by: Dmytro Hryshyn <dev.dmytroh@gmail.com> Co-authored-by: zomars <zomars@me.com>
24 lines
796 B
TypeScript
24 lines
796 B
TypeScript
import { type Params } from "app/_types";
|
|
import { type ReadonlyHeaders } from "next/dist/server/web/spec-extension/adapters/headers";
|
|
import { type ReadonlyRequestCookies } from "next/dist/server/web/spec-extension/adapters/request-cookies";
|
|
|
|
// returns query object same as ctx.query but for app dir
|
|
export const getQuery = (url: string, params: Params) => {
|
|
if (!url.length) {
|
|
return params;
|
|
}
|
|
|
|
const { searchParams } = new URL(url);
|
|
const searchParamsObj = Object.fromEntries(searchParams.entries());
|
|
|
|
return { ...searchParamsObj, ...params };
|
|
};
|
|
|
|
export const buildLegacyCtx = (headers: ReadonlyHeaders, cookies: ReadonlyRequestCookies, params: Params) => {
|
|
return {
|
|
query: getQuery(headers.get("x-url") ?? "", params),
|
|
params,
|
|
req: { headers, cookies },
|
|
};
|
|
};
|