UNPKG

@sanpjs/core

Version:

@sanpjs/core

40 lines (39 loc) 1.21 kB
/// <reference types="node" /> /** * @file create render context, used for ssr and csr * @author gkiwi */ import * as http from 'http'; import type { Request as ExpressRequest, Response as ExpressResponse } from 'express'; import type { Request as KoaRequest, Response as KoaResponse } from 'koa'; import { Context } from '@sanpjs/core/types'; declare type Request = ExpressRequest | KoaRequest | http.IncomingMessage; declare type Response = ExpressResponse | KoaResponse | http.ServerResponse; interface Router { redirect(path: string): void; } export interface SanpRequest extends http.IncomingMessage { path?: string; method?: string; } export interface SanpResponse extends http.ServerResponse { } export interface RenderContext { [key: string]: unknown; isServer: boolean; isClient: boolean; isProd: boolean; isDev: boolean; router: Router; redirect: (url: string) => void; query: Record<string, unknown>; request: SanpRequest; response: SanpResponse; sanp: Context; body?: Record<string, unknown>; } declare const _default: ({ request, response }: { request: Request; response: Response; }) => RenderContext; export default _default;