server-state.ts — astro Source File
Architecture documentation for server-state.ts, a typescript file in the astro codebase.
Entity Profile
Relationship Graph
Source Code
type ErrorState = 'fresh' | 'error';
interface RouteState {
state: ErrorState;
error?: Error;
}
export interface ServerState {
routes: Map<string, RouteState>;
state: ErrorState;
error?: Error;
}
export function createServerState(): ServerState {
return {
routes: new Map(),
state: 'fresh',
};
}
export function setRouteError(
serverState: ServerState,
pathname: string,
error: Error | undefined,
) {
if (serverState.routes.has(pathname)) {
const routeState = serverState.routes.get(pathname)!;
routeState.state = 'error';
routeState.error = error;
} else {
const routeState: RouteState = {
state: 'error',
error: error,
};
serverState.routes.set(pathname, routeState);
}
serverState.state = 'error';
serverState.error = error;
}
export function setServerError(serverState: ServerState, error: Error) {
serverState.state = 'error';
serverState.error = error;
}
export function clearRouteError(serverState: ServerState, pathname: string) {
if (serverState.routes.has(pathname)) {
serverState.routes.delete(pathname);
}
serverState.state = 'fresh';
serverState.error = undefined;
}
Domain
Subdomains
Source
Frequently Asked Questions
What does server-state.ts do?
server-state.ts is a source file in the astro codebase, written in typescript. It belongs to the CoreAstro domain, RenderingEngine subdomain.
What functions are defined in server-state.ts?
server-state.ts defines 4 function(s): clearRouteError, createServerState, setRouteError, setServerError.
Where is server-state.ts in the architecture?
server-state.ts is located at packages/astro/src/vite-plugin-astro-server/server-state.ts (domain: CoreAstro, subdomain: RenderingEngine, directory: packages/astro/src/vite-plugin-astro-server).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free