You've already forked Atomcms-edit
Initial commit
This commit is contained in:
+145
@@ -0,0 +1,145 @@
|
||||
// Type definitions for Next.js cacheLife configs
|
||||
|
||||
declare module 'next/cache' {
|
||||
export { unstable_cache } from 'next/dist/server/web/spec-extension/unstable-cache'
|
||||
export {
|
||||
updateTag,
|
||||
revalidateTag,
|
||||
revalidatePath,
|
||||
refresh,
|
||||
} from 'next/dist/server/web/spec-extension/revalidate'
|
||||
export { unstable_noStore } from 'next/dist/server/web/spec-extension/unstable-no-store'
|
||||
|
||||
|
||||
/**
|
||||
* Cache this `"use cache"` for a timespan defined by the `"default"` profile.
|
||||
* ```
|
||||
* stale: 300 seconds (5 minutes)
|
||||
* revalidate: 900 seconds (15 minutes)
|
||||
* expire: never
|
||||
* ```
|
||||
*
|
||||
* This cache may be stale on clients for 5 minutes before checking with the server.
|
||||
* If the server receives a new request after 15 minutes, start revalidating new values in the background.
|
||||
* It lives for the maximum age of the server cache. If this entry has no traffic for a while, it may serve an old value the next request.
|
||||
*/
|
||||
export function cacheLife(profile: "default"): void
|
||||
|
||||
/**
|
||||
* Cache this `"use cache"` for a timespan defined by the `"seconds"` profile.
|
||||
* ```
|
||||
* stale: 30 seconds
|
||||
* revalidate: 1 seconds
|
||||
* expire: 60 seconds (1 minute)
|
||||
* ```
|
||||
*
|
||||
* This cache may be stale on clients for 30 seconds before checking with the server.
|
||||
* If the server receives a new request after 1 seconds, start revalidating new values in the background.
|
||||
* If this entry has no traffic for 1 minute it will expire. The next request will recompute it.
|
||||
*/
|
||||
export function cacheLife(profile: "seconds"): void
|
||||
|
||||
/**
|
||||
* Cache this `"use cache"` for a timespan defined by the `"minutes"` profile.
|
||||
* ```
|
||||
* stale: 300 seconds (5 minutes)
|
||||
* revalidate: 60 seconds (1 minute)
|
||||
* expire: 3600 seconds (1 hour)
|
||||
* ```
|
||||
*
|
||||
* This cache may be stale on clients for 5 minutes before checking with the server.
|
||||
* If the server receives a new request after 1 minute, start revalidating new values in the background.
|
||||
* If this entry has no traffic for 1 hour it will expire. The next request will recompute it.
|
||||
*/
|
||||
export function cacheLife(profile: "minutes"): void
|
||||
|
||||
/**
|
||||
* Cache this `"use cache"` for a timespan defined by the `"hours"` profile.
|
||||
* ```
|
||||
* stale: 300 seconds (5 minutes)
|
||||
* revalidate: 3600 seconds (1 hour)
|
||||
* expire: 86400 seconds (1 day)
|
||||
* ```
|
||||
*
|
||||
* This cache may be stale on clients for 5 minutes before checking with the server.
|
||||
* If the server receives a new request after 1 hour, start revalidating new values in the background.
|
||||
* If this entry has no traffic for 1 day it will expire. The next request will recompute it.
|
||||
*/
|
||||
export function cacheLife(profile: "hours"): void
|
||||
|
||||
/**
|
||||
* Cache this `"use cache"` for a timespan defined by the `"days"` profile.
|
||||
* ```
|
||||
* stale: 300 seconds (5 minutes)
|
||||
* revalidate: 86400 seconds (1 day)
|
||||
* expire: 604800 seconds (1 week)
|
||||
* ```
|
||||
*
|
||||
* This cache may be stale on clients for 5 minutes before checking with the server.
|
||||
* If the server receives a new request after 1 day, start revalidating new values in the background.
|
||||
* If this entry has no traffic for 1 week it will expire. The next request will recompute it.
|
||||
*/
|
||||
export function cacheLife(profile: "days"): void
|
||||
|
||||
/**
|
||||
* Cache this `"use cache"` for a timespan defined by the `"weeks"` profile.
|
||||
* ```
|
||||
* stale: 300 seconds (5 minutes)
|
||||
* revalidate: 604800 seconds (1 week)
|
||||
* expire: 2592000 seconds (1 month)
|
||||
* ```
|
||||
*
|
||||
* This cache may be stale on clients for 5 minutes before checking with the server.
|
||||
* If the server receives a new request after 1 week, start revalidating new values in the background.
|
||||
* If this entry has no traffic for 1 month it will expire. The next request will recompute it.
|
||||
*/
|
||||
export function cacheLife(profile: "weeks"): void
|
||||
|
||||
/**
|
||||
* Cache this `"use cache"` for a timespan defined by the `"max"` profile.
|
||||
* ```
|
||||
* stale: 300 seconds (5 minutes)
|
||||
* revalidate: 2592000 seconds (1 month)
|
||||
* expire: 31536000 seconds (365 days)
|
||||
* ```
|
||||
*
|
||||
* This cache may be stale on clients for 5 minutes before checking with the server.
|
||||
* If the server receives a new request after 1 month, start revalidating new values in the background.
|
||||
* If this entry has no traffic for 365 days it will expire. The next request will recompute it.
|
||||
*/
|
||||
export function cacheLife(profile: "max"): void
|
||||
|
||||
/**
|
||||
* Cache this `"use cache"` using a custom timespan.
|
||||
* ```
|
||||
* stale: ... // seconds
|
||||
* revalidate: ... // seconds
|
||||
* expire: ... // seconds
|
||||
* ```
|
||||
*
|
||||
* This is similar to Cache-Control: max-age=`stale`,s-max-age=`revalidate`,stale-while-revalidate=`expire-revalidate`
|
||||
*
|
||||
* If a value is left out, the lowest of other cacheLife() calls or the default, is used instead.
|
||||
*/
|
||||
export function cacheLife(profile: {
|
||||
/**
|
||||
* This cache may be stale on clients for ... seconds before checking with the server.
|
||||
*/
|
||||
stale?: number,
|
||||
/**
|
||||
* If the server receives a new request after ... seconds, start revalidating new values in the background.
|
||||
*/
|
||||
revalidate?: number,
|
||||
/**
|
||||
* If this entry has no traffic for ... seconds it will expire. The next request will recompute it.
|
||||
*/
|
||||
expire?: number
|
||||
}): void
|
||||
|
||||
|
||||
import { cacheTag } from 'next/dist/server/use-cache/cache-tag'
|
||||
export { cacheTag }
|
||||
|
||||
export const unstable_cacheTag: typeof cacheTag
|
||||
export const unstable_cacheLife: typeof cacheLife
|
||||
}
|
||||
+87
@@ -0,0 +1,87 @@
|
||||
// This file is generated automatically by Next.js
|
||||
// Do not edit this file manually
|
||||
|
||||
type AppRoutes = "/" | "/about" | "/banned" | "/client" | "/community/article/[slug]" | "/community/news" | "/community/photos" | "/community/radio" | "/community/radio/dj-aanmelden" | "/community/radio/punten" | "/community/radio/rooster" | "/community/radio/shouts" | "/contact" | "/discord" | "/draw-badge" | "/forgot-password" | "/help-center/contact" | "/help-center/faq" | "/help-center/rules" | "/help-center/tickets" | "/imprint" | "/leaderboard" | "/privacy" | "/profile/[username]" | "/rare-values" | "/settings" | "/shop" | "/staff" | "/teams" | "/terms"
|
||||
type PageRoutes = never
|
||||
type LayoutRoutes = "/"
|
||||
type RedirectRoutes = never
|
||||
type RewriteRoutes = "/api/[[...path]]"
|
||||
type Routes = AppRoutes | PageRoutes | LayoutRoutes | RedirectRoutes | RewriteRoutes
|
||||
|
||||
|
||||
interface ParamMap {
|
||||
"/": {}
|
||||
"/about": {}
|
||||
"/api/[[...path]]": { "path"?: string[]; }
|
||||
"/banned": {}
|
||||
"/client": {}
|
||||
"/community/article/[slug]": { "slug": string; }
|
||||
"/community/news": {}
|
||||
"/community/photos": {}
|
||||
"/community/radio": {}
|
||||
"/community/radio/dj-aanmelden": {}
|
||||
"/community/radio/punten": {}
|
||||
"/community/radio/rooster": {}
|
||||
"/community/radio/shouts": {}
|
||||
"/contact": {}
|
||||
"/discord": {}
|
||||
"/draw-badge": {}
|
||||
"/forgot-password": {}
|
||||
"/help-center/contact": {}
|
||||
"/help-center/faq": {}
|
||||
"/help-center/rules": {}
|
||||
"/help-center/tickets": {}
|
||||
"/imprint": {}
|
||||
"/leaderboard": {}
|
||||
"/privacy": {}
|
||||
"/profile/[username]": { "username": string; }
|
||||
"/rare-values": {}
|
||||
"/settings": {}
|
||||
"/shop": {}
|
||||
"/staff": {}
|
||||
"/teams": {}
|
||||
"/terms": {}
|
||||
}
|
||||
|
||||
|
||||
export type ParamsOf<Route extends Routes> = ParamMap[Route]
|
||||
|
||||
interface LayoutSlotMap {
|
||||
"/": never
|
||||
}
|
||||
|
||||
|
||||
export type { AppRoutes, PageRoutes, LayoutRoutes, RedirectRoutes, RewriteRoutes, ParamMap }
|
||||
|
||||
declare global {
|
||||
/**
|
||||
* Props for Next.js App Router page components
|
||||
* @example
|
||||
* ```tsx
|
||||
* export default function Page(props: PageProps<'/blog/[slug]'>) {
|
||||
* const { slug } = await props.params
|
||||
* return <div>Blog post: {slug}</div>
|
||||
* }
|
||||
* ```
|
||||
*/
|
||||
interface PageProps<AppRoute extends AppRoutes> {
|
||||
params: Promise<ParamMap[AppRoute]>
|
||||
searchParams: Promise<Record<string, string | string[] | undefined>>
|
||||
}
|
||||
|
||||
/**
|
||||
* Props for Next.js App Router layout components
|
||||
* @example
|
||||
* ```tsx
|
||||
* export default function Layout(props: LayoutProps<'/dashboard'>) {
|
||||
* return <div>{props.children}</div>
|
||||
* }
|
||||
* ```
|
||||
*/
|
||||
type LayoutProps<LayoutRoute extends LayoutRoutes> = {
|
||||
params: Promise<ParamMap[LayoutRoute]>
|
||||
children: React.ReactNode
|
||||
} & {
|
||||
[K in LayoutSlotMap[LayoutRoute]]: React.ReactNode
|
||||
}
|
||||
}
|
||||
Executable
+322
@@ -0,0 +1,322 @@
|
||||
// This file is generated automatically by Next.js
|
||||
// Do not edit this file manually
|
||||
// This file validates that all pages and layouts export the correct types
|
||||
|
||||
import type { AppRoutes, LayoutRoutes, ParamMap } from "./routes.js"
|
||||
import type { ResolvingMetadata, ResolvingViewport } from "next/types.js"
|
||||
|
||||
type AppPageConfig<Route extends AppRoutes = AppRoutes> = {
|
||||
default: React.ComponentType<{ params: Promise<ParamMap[Route]> } & any> | ((props: { params: Promise<ParamMap[Route]> } & any) => React.ReactNode | Promise<React.ReactNode> | never | void | Promise<void>)
|
||||
generateStaticParams?: (props: { params: ParamMap[Route] }) => Promise<any[]> | any[]
|
||||
generateMetadata?: (
|
||||
props: { params: Promise<ParamMap[Route]> } & any,
|
||||
parent: ResolvingMetadata
|
||||
) => Promise<any> | any
|
||||
generateViewport?: (
|
||||
props: { params: Promise<ParamMap[Route]> } & any,
|
||||
parent: ResolvingViewport
|
||||
) => Promise<any> | any
|
||||
metadata?: any
|
||||
viewport?: any
|
||||
}
|
||||
|
||||
type LayoutConfig<Route extends LayoutRoutes = LayoutRoutes> = {
|
||||
default: React.ComponentType<LayoutProps<Route>> | ((props: LayoutProps<Route>) => React.ReactNode | Promise<React.ReactNode> | never | void | Promise<void>)
|
||||
generateStaticParams?: (props: { params: ParamMap[Route] }) => Promise<any[]> | any[]
|
||||
generateMetadata?: (
|
||||
props: { params: Promise<ParamMap[Route]> } & any,
|
||||
parent: ResolvingMetadata
|
||||
) => Promise<any> | any
|
||||
generateViewport?: (
|
||||
props: { params: Promise<ParamMap[Route]> } & any,
|
||||
parent: ResolvingViewport
|
||||
) => Promise<any> | any
|
||||
metadata?: any
|
||||
viewport?: any
|
||||
}
|
||||
|
||||
|
||||
// Validate ../../src/app/about/page.tsx
|
||||
{
|
||||
type __IsExpected<Specific extends AppPageConfig<"/about">> = Specific
|
||||
const handler = {} as typeof import("../../src/app/about/page.js")
|
||||
type __Check = __IsExpected<typeof handler>
|
||||
// @ts-ignore
|
||||
type __Unused = __Check
|
||||
}
|
||||
|
||||
// Validate ../../src/app/banned/page.tsx
|
||||
{
|
||||
type __IsExpected<Specific extends AppPageConfig<"/banned">> = Specific
|
||||
const handler = {} as typeof import("../../src/app/banned/page.js")
|
||||
type __Check = __IsExpected<typeof handler>
|
||||
// @ts-ignore
|
||||
type __Unused = __Check
|
||||
}
|
||||
|
||||
// Validate ../../src/app/client/page.tsx
|
||||
{
|
||||
type __IsExpected<Specific extends AppPageConfig<"/client">> = Specific
|
||||
const handler = {} as typeof import("../../src/app/client/page.js")
|
||||
type __Check = __IsExpected<typeof handler>
|
||||
// @ts-ignore
|
||||
type __Unused = __Check
|
||||
}
|
||||
|
||||
// Validate ../../src/app/community/article/[slug]/page.tsx
|
||||
{
|
||||
type __IsExpected<Specific extends AppPageConfig<"/community/article/[slug]">> = Specific
|
||||
const handler = {} as typeof import("../../src/app/community/article/[slug]/page.js")
|
||||
type __Check = __IsExpected<typeof handler>
|
||||
// @ts-ignore
|
||||
type __Unused = __Check
|
||||
}
|
||||
|
||||
// Validate ../../src/app/community/news/page.tsx
|
||||
{
|
||||
type __IsExpected<Specific extends AppPageConfig<"/community/news">> = Specific
|
||||
const handler = {} as typeof import("../../src/app/community/news/page.js")
|
||||
type __Check = __IsExpected<typeof handler>
|
||||
// @ts-ignore
|
||||
type __Unused = __Check
|
||||
}
|
||||
|
||||
// Validate ../../src/app/community/photos/page.tsx
|
||||
{
|
||||
type __IsExpected<Specific extends AppPageConfig<"/community/photos">> = Specific
|
||||
const handler = {} as typeof import("../../src/app/community/photos/page.js")
|
||||
type __Check = __IsExpected<typeof handler>
|
||||
// @ts-ignore
|
||||
type __Unused = __Check
|
||||
}
|
||||
|
||||
// Validate ../../src/app/community/radio/dj-aanmelden/page.tsx
|
||||
{
|
||||
type __IsExpected<Specific extends AppPageConfig<"/community/radio/dj-aanmelden">> = Specific
|
||||
const handler = {} as typeof import("../../src/app/community/radio/dj-aanmelden/page.js")
|
||||
type __Check = __IsExpected<typeof handler>
|
||||
// @ts-ignore
|
||||
type __Unused = __Check
|
||||
}
|
||||
|
||||
// Validate ../../src/app/community/radio/page.tsx
|
||||
{
|
||||
type __IsExpected<Specific extends AppPageConfig<"/community/radio">> = Specific
|
||||
const handler = {} as typeof import("../../src/app/community/radio/page.js")
|
||||
type __Check = __IsExpected<typeof handler>
|
||||
// @ts-ignore
|
||||
type __Unused = __Check
|
||||
}
|
||||
|
||||
// Validate ../../src/app/community/radio/punten/page.tsx
|
||||
{
|
||||
type __IsExpected<Specific extends AppPageConfig<"/community/radio/punten">> = Specific
|
||||
const handler = {} as typeof import("../../src/app/community/radio/punten/page.js")
|
||||
type __Check = __IsExpected<typeof handler>
|
||||
// @ts-ignore
|
||||
type __Unused = __Check
|
||||
}
|
||||
|
||||
// Validate ../../src/app/community/radio/rooster/page.tsx
|
||||
{
|
||||
type __IsExpected<Specific extends AppPageConfig<"/community/radio/rooster">> = Specific
|
||||
const handler = {} as typeof import("../../src/app/community/radio/rooster/page.js")
|
||||
type __Check = __IsExpected<typeof handler>
|
||||
// @ts-ignore
|
||||
type __Unused = __Check
|
||||
}
|
||||
|
||||
// Validate ../../src/app/community/radio/shouts/page.tsx
|
||||
{
|
||||
type __IsExpected<Specific extends AppPageConfig<"/community/radio/shouts">> = Specific
|
||||
const handler = {} as typeof import("../../src/app/community/radio/shouts/page.js")
|
||||
type __Check = __IsExpected<typeof handler>
|
||||
// @ts-ignore
|
||||
type __Unused = __Check
|
||||
}
|
||||
|
||||
// Validate ../../src/app/contact/page.tsx
|
||||
{
|
||||
type __IsExpected<Specific extends AppPageConfig<"/contact">> = Specific
|
||||
const handler = {} as typeof import("../../src/app/contact/page.js")
|
||||
type __Check = __IsExpected<typeof handler>
|
||||
// @ts-ignore
|
||||
type __Unused = __Check
|
||||
}
|
||||
|
||||
// Validate ../../src/app/discord/page.tsx
|
||||
{
|
||||
type __IsExpected<Specific extends AppPageConfig<"/discord">> = Specific
|
||||
const handler = {} as typeof import("../../src/app/discord/page.js")
|
||||
type __Check = __IsExpected<typeof handler>
|
||||
// @ts-ignore
|
||||
type __Unused = __Check
|
||||
}
|
||||
|
||||
// Validate ../../src/app/draw-badge/page.tsx
|
||||
{
|
||||
type __IsExpected<Specific extends AppPageConfig<"/draw-badge">> = Specific
|
||||
const handler = {} as typeof import("../../src/app/draw-badge/page.js")
|
||||
type __Check = __IsExpected<typeof handler>
|
||||
// @ts-ignore
|
||||
type __Unused = __Check
|
||||
}
|
||||
|
||||
// Validate ../../src/app/forgot-password/page.tsx
|
||||
{
|
||||
type __IsExpected<Specific extends AppPageConfig<"/forgot-password">> = Specific
|
||||
const handler = {} as typeof import("../../src/app/forgot-password/page.js")
|
||||
type __Check = __IsExpected<typeof handler>
|
||||
// @ts-ignore
|
||||
type __Unused = __Check
|
||||
}
|
||||
|
||||
// Validate ../../src/app/help-center/contact/page.tsx
|
||||
{
|
||||
type __IsExpected<Specific extends AppPageConfig<"/help-center/contact">> = Specific
|
||||
const handler = {} as typeof import("../../src/app/help-center/contact/page.js")
|
||||
type __Check = __IsExpected<typeof handler>
|
||||
// @ts-ignore
|
||||
type __Unused = __Check
|
||||
}
|
||||
|
||||
// Validate ../../src/app/help-center/faq/page.tsx
|
||||
{
|
||||
type __IsExpected<Specific extends AppPageConfig<"/help-center/faq">> = Specific
|
||||
const handler = {} as typeof import("../../src/app/help-center/faq/page.js")
|
||||
type __Check = __IsExpected<typeof handler>
|
||||
// @ts-ignore
|
||||
type __Unused = __Check
|
||||
}
|
||||
|
||||
// Validate ../../src/app/help-center/rules/page.tsx
|
||||
{
|
||||
type __IsExpected<Specific extends AppPageConfig<"/help-center/rules">> = Specific
|
||||
const handler = {} as typeof import("../../src/app/help-center/rules/page.js")
|
||||
type __Check = __IsExpected<typeof handler>
|
||||
// @ts-ignore
|
||||
type __Unused = __Check
|
||||
}
|
||||
|
||||
// Validate ../../src/app/help-center/tickets/page.tsx
|
||||
{
|
||||
type __IsExpected<Specific extends AppPageConfig<"/help-center/tickets">> = Specific
|
||||
const handler = {} as typeof import("../../src/app/help-center/tickets/page.js")
|
||||
type __Check = __IsExpected<typeof handler>
|
||||
// @ts-ignore
|
||||
type __Unused = __Check
|
||||
}
|
||||
|
||||
// Validate ../../src/app/imprint/page.tsx
|
||||
{
|
||||
type __IsExpected<Specific extends AppPageConfig<"/imprint">> = Specific
|
||||
const handler = {} as typeof import("../../src/app/imprint/page.js")
|
||||
type __Check = __IsExpected<typeof handler>
|
||||
// @ts-ignore
|
||||
type __Unused = __Check
|
||||
}
|
||||
|
||||
// Validate ../../src/app/leaderboard/page.tsx
|
||||
{
|
||||
type __IsExpected<Specific extends AppPageConfig<"/leaderboard">> = Specific
|
||||
const handler = {} as typeof import("../../src/app/leaderboard/page.js")
|
||||
type __Check = __IsExpected<typeof handler>
|
||||
// @ts-ignore
|
||||
type __Unused = __Check
|
||||
}
|
||||
|
||||
// Validate ../../src/app/page.tsx
|
||||
{
|
||||
type __IsExpected<Specific extends AppPageConfig<"/">> = Specific
|
||||
const handler = {} as typeof import("../../src/app/page.js")
|
||||
type __Check = __IsExpected<typeof handler>
|
||||
// @ts-ignore
|
||||
type __Unused = __Check
|
||||
}
|
||||
|
||||
// Validate ../../src/app/privacy/page.tsx
|
||||
{
|
||||
type __IsExpected<Specific extends AppPageConfig<"/privacy">> = Specific
|
||||
const handler = {} as typeof import("../../src/app/privacy/page.js")
|
||||
type __Check = __IsExpected<typeof handler>
|
||||
// @ts-ignore
|
||||
type __Unused = __Check
|
||||
}
|
||||
|
||||
// Validate ../../src/app/profile/[username]/page.tsx
|
||||
{
|
||||
type __IsExpected<Specific extends AppPageConfig<"/profile/[username]">> = Specific
|
||||
const handler = {} as typeof import("../../src/app/profile/[username]/page.js")
|
||||
type __Check = __IsExpected<typeof handler>
|
||||
// @ts-ignore
|
||||
type __Unused = __Check
|
||||
}
|
||||
|
||||
// Validate ../../src/app/rare-values/page.tsx
|
||||
{
|
||||
type __IsExpected<Specific extends AppPageConfig<"/rare-values">> = Specific
|
||||
const handler = {} as typeof import("../../src/app/rare-values/page.js")
|
||||
type __Check = __IsExpected<typeof handler>
|
||||
// @ts-ignore
|
||||
type __Unused = __Check
|
||||
}
|
||||
|
||||
// Validate ../../src/app/settings/page.tsx
|
||||
{
|
||||
type __IsExpected<Specific extends AppPageConfig<"/settings">> = Specific
|
||||
const handler = {} as typeof import("../../src/app/settings/page.js")
|
||||
type __Check = __IsExpected<typeof handler>
|
||||
// @ts-ignore
|
||||
type __Unused = __Check
|
||||
}
|
||||
|
||||
// Validate ../../src/app/shop/page.tsx
|
||||
{
|
||||
type __IsExpected<Specific extends AppPageConfig<"/shop">> = Specific
|
||||
const handler = {} as typeof import("../../src/app/shop/page.js")
|
||||
type __Check = __IsExpected<typeof handler>
|
||||
// @ts-ignore
|
||||
type __Unused = __Check
|
||||
}
|
||||
|
||||
// Validate ../../src/app/staff/page.tsx
|
||||
{
|
||||
type __IsExpected<Specific extends AppPageConfig<"/staff">> = Specific
|
||||
const handler = {} as typeof import("../../src/app/staff/page.js")
|
||||
type __Check = __IsExpected<typeof handler>
|
||||
// @ts-ignore
|
||||
type __Unused = __Check
|
||||
}
|
||||
|
||||
// Validate ../../src/app/teams/page.tsx
|
||||
{
|
||||
type __IsExpected<Specific extends AppPageConfig<"/teams">> = Specific
|
||||
const handler = {} as typeof import("../../src/app/teams/page.js")
|
||||
type __Check = __IsExpected<typeof handler>
|
||||
// @ts-ignore
|
||||
type __Unused = __Check
|
||||
}
|
||||
|
||||
// Validate ../../src/app/terms/page.tsx
|
||||
{
|
||||
type __IsExpected<Specific extends AppPageConfig<"/terms">> = Specific
|
||||
const handler = {} as typeof import("../../src/app/terms/page.js")
|
||||
type __Check = __IsExpected<typeof handler>
|
||||
// @ts-ignore
|
||||
type __Unused = __Check
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// Validate ../../src/app/layout.tsx
|
||||
{
|
||||
type __IsExpected<Specific extends LayoutConfig<"/">> = Specific
|
||||
const handler = {} as typeof import("../../src/app/layout.js")
|
||||
type __Check = __IsExpected<typeof handler>
|
||||
// @ts-ignore
|
||||
type __Unused = __Check
|
||||
}
|
||||
Reference in New Issue
Block a user