UNPKG

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