UNPKG

angular2

Version:

Angular 2 - a web framework for modern web apps

1 lines 21.4 kB
{"version":3,"sources":["compiler.js"],"names":[],"mappings":"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","file":"angular2/src/core/compiler/compiler.es6","sourcesContent":["import {Injectable} from 'angular2/di';\nimport {Type, isBlank, isPresent, BaseException, normalizeBlank, stringify} from 'angular2/src/facade/lang';\nimport {Promise, PromiseWrapper} from 'angular2/src/facade/async';\nimport {List, ListWrapper, Map, MapWrapper} from 'angular2/src/facade/collection';\n\nimport {DirectiveMetadataReader} from './directive_metadata_reader';\nimport {Component, Viewport, DynamicComponent, Decorator} from '../annotations/annotations';\nimport {AppProtoView} from './view';\nimport {DirectiveBinding} from './element_injector';\nimport {TemplateResolver} from './template_resolver';\nimport {View} from '../annotations/view';\nimport {ComponentUrlMapper} from './component_url_mapper';\nimport {ProtoViewFactory} from './proto_view_factory';\nimport {UrlResolver} from 'angular2/src/services/url_resolver';\n\nimport * as renderApi from 'angular2/src/render/api';\n\n/**\n * Cache that stores the AppProtoView of the template of a component.\n * Used to prevent duplicate work and resolve cyclic dependencies.\n */\n@Injectable()\nexport class CompilerCache {\n _cache:Map;\n constructor() {\n this._cache = MapWrapper.create();\n }\n\n set(component:Type, protoView:AppProtoView) {\n MapWrapper.set(this._cache, component, protoView);\n }\n\n get(component:Type):AppProtoView {\n var result = MapWrapper.get(this._cache, component);\n return normalizeBlank(result);\n }\n\n clear() {\n MapWrapper.clear(this._cache);\n }\n}\n\n/**\n * @exportedAs angular2/view\n */\n@Injectable()\nexport class Compiler {\n _reader: DirectiveMetadataReader;\n _compilerCache:CompilerCache;\n _compiling:Map<Type, Promise>;\n _templateResolver: TemplateResolver;\n _componentUrlMapper: ComponentUrlMapper;\n _urlResolver: UrlResolver;\n _appUrl: string;\n _renderer: renderApi.Renderer;\n _protoViewFactory:ProtoViewFactory;\n\n constructor(reader: DirectiveMetadataReader,\n cache:CompilerCache,\n templateResolver: TemplateResolver,\n componentUrlMapper: ComponentUrlMapper,\n urlResolver: UrlResolver,\n renderer: renderApi.Renderer,\n protoViewFactory: ProtoViewFactory) {\n this._reader = reader;\n this._compilerCache = cache;\n this._compiling = MapWrapper.create();\n this._templateResolver = templateResolver;\n this._componentUrlMapper = componentUrlMapper;\n this._urlResolver = urlResolver;\n this._appUrl = urlResolver.resolve(null, './');\n this._renderer = renderer;\n this._protoViewFactory = protoViewFactory;\n }\n\n _bindDirective(directiveTypeOrBinding) {\n if (directiveTypeOrBinding instanceof DirectiveBinding) {\n return directiveTypeOrBinding;\n }\n var meta = this._reader.read(directiveTypeOrBinding);\n return DirectiveBinding.createFromType(meta.type, meta.annotation);\n }\n\n // Create a hostView as if the compiler encountered <hostcmp></hostcmp>.\n // Used for bootstrapping.\n compileInHost(componentTypeOrBinding:any):Promise<AppProtoView> {\n return this._renderer.createHostProtoView('host').then( (hostRenderPv) => {\n return this._compileNestedProtoViews(null, hostRenderPv, [this._bindDirective(componentTypeOrBinding)], true);\n });\n }\n\n compile(component: Type):Promise<AppProtoView> {\n var protoView = this._compile(this._bindDirective(component));\n return PromiseWrapper.isPromise(protoView) ? protoView : PromiseWrapper.resolve(protoView);\n }\n\n // TODO(vicb): union type return AppProtoView or Promise<AppProtoView>\n _compile(componentBinding: DirectiveBinding) {\n var component = componentBinding.key.token;\n var protoView = this._compilerCache.get(component);\n if (isPresent(protoView)) {\n // The component has already been compiled into an AppProtoView,\n // returns a plain AppProtoView, not wrapped inside of a Promise.\n // Needed for recursive components.\n return protoView;\n }\n\n var pvPromise = MapWrapper.get(this._compiling, component);\n if (isPresent(pvPromise)) {\n // The component is already being compiled, attach to the existing Promise\n // instead of re-compiling the component.\n // It happens when a template references a component multiple times.\n return pvPromise;\n }\n\n var template = this._templateResolver.resolve(component);\n if (isPresent(template.renderer)) {\n var directives = [];\n pvPromise = this._renderer.createImperativeComponentProtoView(template.renderer).then( (renderPv) => {\n return this._compileNestedProtoViews(componentBinding, renderPv, directives, true);\n });\n } else {\n var directives = ListWrapper.map(\n this._flattenDirectives(template),\n (directive) => this._bindDirective(directive)\n );\n var renderTemplate = this._buildRenderTemplate(component, template, directives);\n pvPromise = this._renderer.compile(renderTemplate).then( (renderPv) => {\n return this._compileNestedProtoViews(componentBinding, renderPv, directives, true);\n });\n }\n\n MapWrapper.set(this._compiling, component, pvPromise);\n return pvPromise;\n }\n\n // TODO(tbosch): union type return AppProtoView or Promise<AppProtoView>\n _compileNestedProtoViews(componentBinding, renderPv, directives, isComponentRootView) {\n var nestedPVPromises = [];\n var protoView = this._protoViewFactory.createProtoView(componentBinding, renderPv, directives);\n if (isComponentRootView && isPresent(componentBinding)) {\n // Populate the cache before compiling the nested components,\n // so that components can reference themselves in their template.\n var component = componentBinding.key.token;\n this._compilerCache.set(component, protoView);\n MapWrapper.delete(this._compiling, component);\n }\n\n var binderIndex = 0;\n ListWrapper.forEach(protoView.elementBinders, (elementBinder) => {\n var nestedComponent = elementBinder.componentDirective;\n var nestedRenderProtoView = renderPv.elementBinders[binderIndex].nestedProtoView;\n var elementBinderDone = (nestedPv) => {\n elementBinder.nestedProtoView = nestedPv;\n // Can't set the parentProtoView for components,\n // as their AppProtoView might be used in multiple other components.\n nestedPv.parentProtoView = isPresent(nestedComponent) ? null : protoView;\n };\n var nestedCall = null;\n if (isPresent(nestedComponent)) {\n if (!(nestedComponent.annotation instanceof DynamicComponent)) {\n nestedCall = this._compile(nestedComponent);\n }\n } else if (isPresent(nestedRenderProtoView)) {\n nestedCall = this._compileNestedProtoViews(componentBinding, nestedRenderProtoView, directives, false);\n }\n if (PromiseWrapper.isPromise(nestedCall)) {\n ListWrapper.push(nestedPVPromises, nestedCall.then(elementBinderDone));\n } else if (isPresent(nestedCall)) {\n elementBinderDone(nestedCall);\n }\n binderIndex++;\n });\n\n var protoViewDone = (_) => {\n var childComponentRenderPvRefs = [];\n ListWrapper.forEach(protoView.elementBinders, (eb) => {\n if (isPresent(eb.componentDirective)) {\n var componentPv = eb.nestedProtoView;\n ListWrapper.push(childComponentRenderPvRefs, isPresent(componentPv) ? componentPv.render : null);\n }\n });\n this._renderer.mergeChildComponentProtoViews(protoView.render, childComponentRenderPvRefs);\n return protoView;\n };\n if (nestedPVPromises.length > 0) {\n return PromiseWrapper.all(nestedPVPromises).then(protoViewDone);\n } else {\n return protoViewDone(null);\n }\n }\n\n _buildRenderTemplate(component, view, directives) {\n var componentUrl = this._urlResolver.resolve(\n this._appUrl, this._componentUrlMapper.getUrl(component)\n );\n var templateAbsUrl = null;\n if (isPresent(view.templateUrl)) {\n templateAbsUrl = this._urlResolver.resolve(componentUrl, view.templateUrl);\n } else {\n // Note: If we have an inline template, we also need to send\n // the url for the component to the renderer so that it\n // is able to resolve urls in stylesheets.\n templateAbsUrl = componentUrl;\n }\n return new renderApi.ViewDefinition({\n componentId: stringify(component),\n absUrl: templateAbsUrl,\n template: view.template,\n directives: ListWrapper.map(directives, Compiler.buildRenderDirective)\n });\n }\n\n static buildRenderDirective(directiveBinding) {\n var ann = directiveBinding.annotation;\n var renderType;\n var compileChildren = true;\n if ((ann instanceof Component) || (ann instanceof DynamicComponent)) {\n renderType = renderApi.DirectiveMetadata.COMPONENT_TYPE;\n } else if (ann instanceof Viewport) {\n renderType = renderApi.DirectiveMetadata.VIEWPORT_TYPE;\n } else if (ann instanceof Decorator) {\n renderType = renderApi.DirectiveMetadata.DECORATOR_TYPE;\n compileChildren = ann.compileChildren;\n }\n var setters = [];\n var readAttributes = [];\n ListWrapper.forEach(directiveBinding.dependencies, (dep) => {\n if (isPresent(dep.propSetterName)) {\n ListWrapper.push(setters, dep.propSetterName);\n }\n if (isPresent(dep.attributeName)) {\n ListWrapper.push(readAttributes, dep.attributeName);\n }\n });\n return new renderApi.DirectiveMetadata({\n id: stringify(directiveBinding.key.token),\n type: renderType,\n selector: ann.selector,\n compileChildren: compileChildren,\n hostListeners: isPresent(ann.hostListeners) ? MapWrapper.createFromStringMap(ann.hostListeners) : null,\n properties: isPresent(ann.properties) ? MapWrapper.createFromStringMap(ann.properties) : null,\n setters: setters,\n readAttributes: readAttributes\n });\n }\n\n _flattenDirectives(template: View):List<Type> {\n if (isBlank(template.directives)) return [];\n\n var directives = [];\n this._flattenList(template.directives, directives);\n\n return directives;\n }\n\n _flattenList(tree:List<any>, out:List<Type>) {\n for (var i = 0; i < tree.length; i++) {\n var item = tree[i];\n if (ListWrapper.isList(item)) {\n this._flattenList(item, out);\n } else {\n ListWrapper.push(out, item);\n }\n }\n }\n\n}\n"]}