fetchableEnvironments.ts — vite Source File
Architecture documentation for fetchableEnvironments.ts, a typescript file in the vite codebase. 7 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR d8f420e9_0649_c8fd_4cf7_83d284bfc413["fetchableEnvironments.ts"] 7da774f9_eca5_d54e_6e01_6bee7d460a2b["config.ts"] d8f420e9_0649_c8fd_4cf7_83d284bfc413 --> 7da774f9_eca5_d54e_6e01_6bee7d460a2b eb5604c2_58e1_1c00_5a1a_5d97ea5236ad["ResolvedConfig"] d8f420e9_0649_c8fd_4cf7_83d284bfc413 --> eb5604c2_58e1_1c00_5a1a_5d97ea5236ad 7916c84f_5621_2b3b_d220_a171ebce997f["environment.ts"] d8f420e9_0649_c8fd_4cf7_83d284bfc413 --> 7916c84f_5621_2b3b_d220_a171ebce997f 70c452df_b1b7_50ef_d90e_5bd179627481["DevEnvironmentContext"] d8f420e9_0649_c8fd_4cf7_83d284bfc413 --> 70c452df_b1b7_50ef_d90e_5bd179627481 f634223d_ed8e_a65b_08f8_a839ec17994a["DevEnvironment"] d8f420e9_0649_c8fd_4cf7_83d284bfc413 --> f634223d_ed8e_a65b_08f8_a839ec17994a 0c33ff62_54e9_5c90_902b_b26728e71fca["environment.ts"] d8f420e9_0649_c8fd_4cf7_83d284bfc413 --> 0c33ff62_54e9_5c90_902b_b26728e71fca 7e6f7c83_3515_4e0d_5362_4eb9515b4a86["Environment"] d8f420e9_0649_c8fd_4cf7_83d284bfc413 --> 7e6f7c83_3515_4e0d_5362_4eb9515b4a86 style d8f420e9_0649_c8fd_4cf7_83d284bfc413 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import type { ResolvedConfig } from '../../config'
import type { DevEnvironmentContext } from '../environment'
import { DevEnvironment } from '../environment'
import type { Environment } from '../../environment'
export interface FetchableDevEnvironmentContext extends DevEnvironmentContext {
handleRequest(request: Request): Promise<Response> | Response
}
export function createFetchableDevEnvironment(
name: string,
config: ResolvedConfig,
context: FetchableDevEnvironmentContext,
): FetchableDevEnvironment {
if (typeof Request === 'undefined' || typeof Response === 'undefined') {
throw new TypeError(
'FetchableDevEnvironment requires a global `Request` and `Response` object.',
)
}
if (!context.handleRequest) {
throw new TypeError(
'FetchableDevEnvironment requires a `handleRequest` method during initialisation.',
)
}
return new FetchableDevEnvironment(name, config, context)
}
export function isFetchableDevEnvironment(
environment: Environment,
): environment is FetchableDevEnvironment {
return environment instanceof FetchableDevEnvironment
}
class FetchableDevEnvironment extends DevEnvironment {
private _handleRequest: (request: Request) => Promise<Response> | Response
constructor(
name: string,
config: ResolvedConfig,
context: FetchableDevEnvironmentContext,
) {
super(name, config, context)
this._handleRequest = context.handleRequest
}
public async dispatchFetch(request: Request): Promise<Response> {
if (!(request instanceof Request)) {
throw new TypeError(
'FetchableDevEnvironment `dispatchFetch` must receive a `Request` object.',
)
}
const response = await this._handleRequest(request)
if (!(response instanceof Response)) {
throw new TypeError(
'FetchableDevEnvironment `context.handleRequest` must return a `Response` object.',
)
}
return response
}
}
export type { FetchableDevEnvironment }
Domain
Subdomains
Classes
Dependencies
Source
Frequently Asked Questions
What does fetchableEnvironments.ts do?
fetchableEnvironments.ts is a source file in the vite codebase, written in typescript. It belongs to the ViteCore domain, ConfigEngine subdomain.
What functions are defined in fetchableEnvironments.ts?
fetchableEnvironments.ts defines 2 function(s): createFetchableDevEnvironment, isFetchableDevEnvironment.
What does fetchableEnvironments.ts depend on?
fetchableEnvironments.ts imports 7 module(s): DevEnvironment, DevEnvironmentContext, Environment, ResolvedConfig, config.ts, environment.ts, environment.ts.
Where is fetchableEnvironments.ts in the architecture?
fetchableEnvironments.ts is located at packages/vite/src/node/server/environments/fetchableEnvironments.ts (domain: ViteCore, subdomain: ConfigEngine, directory: packages/vite/src/node/server/environments).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free