UNPKG

7.12 kBTypeScriptView Raw
1import { ModuleWithProviders, NgModule, Provider, Type } from '@angular/core';
2import { Route } from '@angular/router';
3import { Framer } from './framer';
4import { FramingRootComponentConfig } from './framing-root-component-config';
5import { FramingRouteConfig } from './framing-route-config';
6/**
7 *
8 */
9export declare class FramingNgModule {
10 private static _nextId;
11 private _ngModule;
12 private _root;
13 private _rootComponent;
14 private _rootComponentConfig;
15 private _routes;
16 private _routeConfig;
17 static readonly defaultPathMatch: string;
18 ngModule(ngModule?: NgModule): FramingNgModule;
19 /**
20 * Add a child route. Adds to '' route by default
21 */
22 child(child: Route): FramingNgModule;
23 child(child: Route, parent: Route): FramingNgModule;
24 child(child: Route, parent: Route[]): FramingNgModule;
25 /**
26 * Adds to imports
27 * Adds to route
28 */
29 children(children: Route[]): FramingNgModule;
30 children(children: Route[], parent: Route): FramingNgModule;
31 children(children: Route[], parent: Route[]): FramingNgModule;
32 /**
33 * Adds as component on route
34 */
35 component(component: Type<any>): FramingNgModule;
36 component(component: Type<any>, route: Route): FramingNgModule;
37 component(component: Type<any>, route: Route[]): FramingNgModule;
38 /**
39 * Adds as component on route
40 * Adds component to declarations
41 */
42 componentAndDeclare(component: Type<any>): FramingNgModule;
43 componentAndDeclare(component: Type<any>, route: Route): FramingNgModule;
44 componentAndDeclare(component: Type<any>, route: Route[]): FramingNgModule;
45 /**
46 * Adds as component on route
47 * Adds component to declarations
48 */
49 componentAndDeclaration(component: Type<any>): FramingNgModule;
50 componentAndDeclaration(component: Type<any>, route: Route): FramingNgModule;
51 componentAndDeclaration(component: Type<any>, route: Route[]): FramingNgModule;
52 /**
53 * Adds containers to route data
54 * Adds container components to exports and declarations
55 */
56 container(container: string, components: Type<any> | Type<any>[]): FramingNgModule;
57 container(container: string, components: Type<any> | Type<any>[], route: Route): FramingNgModule;
58 container(container: string, components: Type<any> | Type<any>[], route: Route[]): FramingNgModule;
59 /**
60 * Adds containers to route data
61 * Adds container components to exports and declarations
62 */
63 containers(containers: {
64 [key: string]: Type<any> | Type<any>[];
65 }): FramingNgModule;
66 containers(containers: {
67 [key: string]: Type<any> | Type<any>[];
68 }, route: Route): FramingNgModule;
69 containers(containers: {
70 [key: string]: Type<any> | Type<any>[];
71 }, route: Route[]): FramingNgModule;
72 /**
73 * Method for appending data to route
74 */
75 datum(key: string, datum: any): FramingNgModule;
76 datum(key: string, datum: any, route: Route): FramingNgModule;
77 datum(key: string, datum: any, route: Route[]): FramingNgModule;
78 /**
79 * Methods for appending data to route
80 */
81 data(data: {
82 [key: string]: any;
83 }): FramingNgModule;
84 data(data: {
85 [key: string]: any;
86 }, route: Route): FramingNgModule;
87 data(data: {
88 [key: string]: any;
89 }, route: Route[]): FramingNgModule;
90 /**
91 * Method for appending data resolve to route
92 */
93 resolve(key: string, resolve: string | Type<any>): FramingNgModule;
94 resolve(key: string, resolve: string | Type<any>, route: Route): FramingNgModule;
95 resolve(key: string, resolve: string | Type<any>, route: Route[]): FramingNgModule;
96 /**
97 * Method for appending data resolve to route
98 */
99 resolves(resolves: {
100 [key: string]: string | Type<any>;
101 }): FramingNgModule;
102 resolves(resolves: {
103 [key: string]: string | Type<any>;
104 }, route: Route): FramingNgModule;
105 resolves(resolves: {
106 [key: string]: string | Type<any>;
107 }, route: Route[]): FramingNgModule;
108 declare(declaration: Type<any> | Type<any>[]): FramingNgModule;
109 declaration(declaration: Type<any> | Type<any>[]): FramingNgModule;
110 declarations(declarations: Type<any>[]): FramingNgModule;
111 declareAndExport(declaration: Type<any> | Type<any>[]): FramingNgModule;
112 declarationAndExport(declaration: Type<any> | Type<any>[]): FramingNgModule;
113 declarationsAndExports(declarations: Type<any>[]): FramingNgModule;
114 declareAndEntryComponent(declaration: Type<any> | Type<any>[]): FramingNgModule;
115 declarationAndEntryComponent(declaration: Type<any> | Type<any>[]): FramingNgModule;
116 declarationsAndEntryComponents(declarations: Type<any>[]): FramingNgModule;
117 entryComponent(entryComponent: Type<any> | Type<any>[]): FramingNgModule;
118 entryComponents(entryComponents: Type<any>[]): FramingNgModule;
119 export(e: Type<any> | Type<any>[]): FramingNgModule;
120 exports(exports: Type<any>[]): FramingNgModule;
121 import(i: Type<any> | Type<any>[] | ModuleWithProviders | ModuleWithProviders): FramingNgModule;
122 imports(imports: (Type<any> | ModuleWithProviders)[]): FramingNgModule;
123 importAndExport(m: Type<any> | Type<any>[]): FramingNgModule;
124 importsAndExports(modules: Type<any>[]): FramingNgModule;
125 provide(provider: Provider | Provider[] | Type<any> | Type<any>[]): FramingNgModule;
126 provider(provider: Provider | Provider[] | Type<any> | Type<any>[]): FramingNgModule;
127 providers(providers: Provider[] | Type<any>[]): FramingNgModule;
128 /**
129 * Adds component to bootstrap
130 * Defaults route to path '', pathMatch: 'full'
131 */
132 root(rootComponent?: Type<any>, config?: FramingRootComponentConfig): FramingNgModule;
133 /**
134 * Creates Routes array with single route
135 * Adds RouterModule.forRoot(routes) or RouterModule.forChild(routes) to imports
136 * Adds all resolve services as providers
137 */
138 route(route?: Route, config?: FramingRouteConfig): FramingNgModule;
139 routes(routes: Route[], config?: FramingRouteConfig): FramingNgModule;
140 frameRoute(route: Route, ...framers: Framer<any, any>[]): FramingNgModule;
141 frameRoute(route: Route[], ...framers: Framer<any, any>[]): FramingNgModule;
142 /**
143 * Returns the route if it exists.
144 */
145 getRoute(route?: Route, array?: Route[]): Route;
146 /**
147 * Returns the route. Creates it if it does not exist.
148 */
149 getOrAddRoute(route?: Route, array?: Route[]): Route;
150 /**
151 * Run framers.
152 */
153 frame(...framers: Framer<any, any>[]): FramingNgModule;
154 /**
155 * Builds @NgModule() config in the following order:
156 * - Route framers
157 * - Root
158 * - Route
159 */
160 build(): NgModule;
161 private inspectModule();
162 private inspectRoute(route);
163 private buildRoot();
164 private buildFramers(framers, route?);
165 private buildFramer(framer, route);
166 /**
167 * Builds framers that were manually added to route data.
168 */
169 private buildRouteFramers(routes);
170 private buildContainers(routes);
171 private buildRoute();
172 private getOrAddRouteOverload(route);
173}