UNPKG

single-spa-layout

Version:
128 lines (127 loc) 3.18 kB
/// <reference types="single-spa" /> /** * @typedef {InputRoutesConfigObject | Element | import('parse5').Document | string} RoutesConfig * * @typedef {{ * mode?: string; * base?: string; * containerEl?: ContainerEl; * disableWarnings?: boolean; * routes: Array<Route>; * redirects?: Redirects; * }} InputRoutesConfigObject * * @typedef {{ * mode: string; * base: string; * containerEl: ContainerEl; * routes: Array<ResolvedRouteChild>; * redirects: Redirects; * }} ResolvedRoutesConfig * * @typedef {{ * [from: string]: string; * }} Redirects * * @typedef {UrlRoute | Application | Node} RouteChild * * @typedef {ResolvedUrlRoute | Application | Node} ResolvedRouteChild * * @typedef {string | Element | import('parse5').Element} ContainerEl * * @typedef {{ * type: string; * path: string; * routes: Array<Route>; * default?: boolean; * exact?: boolean; * activeWhen: import('single-spa').ActivityFn; * }} ResolvedUrlRoute * * @typedef {{ * type: string; * path: string; * routes: Array<Route>; * default?: boolean; * exact?: boolean; * }} UrlRoute * * @typedef {{ * type: string; * name: string; * props?: object; * loader?: string | import('single-spa').ParcelConfig; * }} Application * * @typedef {{ * loaders: { * [key: string]: any; * }, * props: { * [key: string]: any; * }, * errors?: { * [key: string]: string | import('single-spa').ParcelConfig; * } * }} HTMLLayoutData * * @param {RoutesConfig} routesConfig * @param {HTMLLayoutData=} htmlLayoutData * @returns {ResolvedRoutesConfig} */ export function constructRoutes(routesConfig: RoutesConfig, htmlLayoutData?: HTMLLayoutData | undefined): ResolvedRoutesConfig; export const MISSING_PROP: symbol | "@"; export type RoutesConfig = InputRoutesConfigObject | Element | import('parse5').Document | string; export type InputRoutesConfigObject = { mode?: string; base?: string; containerEl?: ContainerEl; disableWarnings?: boolean; routes: Array<any>; redirects?: Redirects; }; export type ResolvedRoutesConfig = { mode: string; base: string; containerEl: ContainerEl; routes: Array<ResolvedRouteChild>; redirects: Redirects; }; export type Redirects = { [from: string]: string; }; export type RouteChild = UrlRoute | Application | Node; export type ResolvedRouteChild = ResolvedUrlRoute | Application | Node; export type ContainerEl = string | Element | import('parse5').Element; export type ResolvedUrlRoute = { type: string; path: string; routes: Array<any>; default?: boolean; exact?: boolean; activeWhen: import('single-spa').ActivityFn; }; export type UrlRoute = { type: string; path: string; routes: Array<any>; default?: boolean; exact?: boolean; }; export type Application = { type: string; name: string; props?: object; loader?: string | import('single-spa').ParcelConfig; }; export type HTMLLayoutData = { loaders: { [key: string]: any; }; props: { [key: string]: any; }; errors?: { [key: string]: string | import("single-spa").ParcelConfig<import("single-spa").CustomProps>; }; };