UNPKG

6.68 kBSource Map (JSON)View Raw
1{"version":3,"file":"route_config_normalizer.js","sourceRoot":"","sources":["../../../../../modules/@angular/router-deprecated/src/route_config/route_config_normalizer.ts"],"names":[],"mappings":"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","sourcesContent":["import {BaseException} from '../facade/exceptions';\nimport {Type, isType} from '../facade/lang';\nimport {ComponentDefinition} from '../route_definition';\nimport {RouteRegistry} from '../route_registry';\n\nimport {AsyncRoute, AuxRoute, Redirect, Route, RouteDefinition} from './route_config_decorator';\n\n\n\n/**\n * Given a JS Object that represents a route config, returns a corresponding Route, AsyncRoute,\n * AuxRoute or Redirect object.\n *\n * Also wraps an AsyncRoute's loader function to add the loaded component's route config to the\n * `RouteRegistry`.\n */\nexport function normalizeRouteConfig(\n config: RouteDefinition, registry: RouteRegistry): RouteDefinition {\n if (config instanceof AsyncRoute) {\n var wrappedLoader = wrapLoaderToReconfigureRegistry(config.loader, registry);\n return new AsyncRoute({\n path: config.path,\n loader: wrappedLoader,\n name: config.name,\n data: config.data,\n useAsDefault: config.useAsDefault\n });\n }\n if (config instanceof Route || config instanceof Redirect || config instanceof AuxRoute) {\n return <RouteDefinition>config;\n }\n\n if ((+!!config.component) + (+!!config.redirectTo) + (+!!config.loader) != 1) {\n throw new BaseException(\n `Route config should contain exactly one \"component\", \"loader\", or \"redirectTo\" property.`);\n }\n\n if (config.loader) {\n var wrappedLoader = wrapLoaderToReconfigureRegistry(config.loader, registry);\n return new AsyncRoute({\n path: config.path,\n loader: wrappedLoader,\n name: config.name,\n data: config.data,\n useAsDefault: config.useAsDefault\n });\n }\n if (config.aux) {\n return new AuxRoute({path: config.aux, component: <Type>config.component, name: config.name});\n }\n if (config.component) {\n if (typeof config.component == 'object') {\n let componentDefinitionObject = <ComponentDefinition>config.component;\n if (componentDefinitionObject.type == 'constructor') {\n return new Route({\n path: config.path,\n component: <Type>componentDefinitionObject.constructor,\n name: config.name,\n data: config.data,\n useAsDefault: config.useAsDefault\n });\n } else if (componentDefinitionObject.type == 'loader') {\n return new AsyncRoute({\n path: config.path,\n loader: componentDefinitionObject.loader,\n name: config.name,\n data: config.data,\n useAsDefault: config.useAsDefault\n });\n } else {\n throw new BaseException(\n `Invalid component type \"${componentDefinitionObject.type}\". Valid types are \"constructor\" and \"loader\".`);\n }\n }\n return new Route(<{\n path: string;\n component: Type;\n name?: string;\n data?: {[key: string]: any};\n useAsDefault?: boolean;\n }>config);\n }\n\n if (config.redirectTo) {\n return new Redirect({path: config.path, redirectTo: config.redirectTo});\n }\n\n return config;\n}\n\n\nfunction wrapLoaderToReconfigureRegistry(loader: Function, registry: RouteRegistry): () =>\n Promise<Type> {\n return () => {\n return loader().then((componentType: any /** TODO #9100 */) => {\n registry.configFromComponent(componentType);\n return componentType;\n });\n };\n}\n\nexport function assertComponentExists(component: Type, path: string): void {\n if (!isType(component)) {\n throw new BaseException(`Component for route \"${path}\" is not defined, or is not a class.`);\n }\n}\n"]}
\No newline at end of file