1use turbo_rcstr::RcStr;
2use turbo_tasks::{FxIndexMap, ResolvedVc};
3
4use crate::{
5 project::{Instrumentation, Middleware},
6 route::{Endpoint, Route},
7};
8
9#[turbo_tasks::value(shared)]
10pub struct Entrypoints {
11 #[bincode(with = "turbo_bincode::indexmap")]
12 pub routes: FxIndexMap<RcStr, Route>,
13 pub middleware: Option<Middleware>,
14 pub instrumentation: Option<Instrumentation>,
15 pub pages_document_endpoint: ResolvedVc<Box<dyn Endpoint>>,
16 pub pages_app_endpoint: ResolvedVc<Box<dyn Endpoint>>,
17 pub pages_error_endpoint: ResolvedVc<Box<dyn Endpoint>>,
18}