angular2
Version:
Angular 2 - a web framework for modern web apps
1 lines • 4.78 kB
Source Map (JSON)
{"version":3,"sources":["compile_pipeline.js"],"names":[],"mappings":"AAAA,KAAO,EAAC,SAAQ,CAAC,KAAO,2BAAyB,CAAC;AAClD,KAAO,EAAC,IAAG;AAAG,YAAU,CAAC,KAAO,iCAA+B,CAAC;AAChE,KAAO,EAAC,GAAE,CAAC,KAAO,+BAA6B,CAAC;AAChD,KAAO,EAAC,cAAa,CAAC,KAAO,oBAAkB,CAAC;AAChD,KAAO,EAAC,cAAa,CAAC,KAAO,oBAAkB,CAAC;AAChD,KAAO,EAAC,WAAU,CAAC,KAAO,iBAAe,CAAC;AAC1C,KAAO,EAAC,gBAAe,CAAC,KAAO,6BAA2B,CAAC;AAM3D,KAAO,MAAM,gBAAc;AAEzB,YAAU,CAAE,KAAI,AAAkB,CAAG;AACnC,OAAG,SAAS,EAAI,IAAI,eAAa,AAAC,CAAC,KAAI,CAAC,CAAC;EAC3C;AAAA,AAEA,QAAM,CAAE,WAAU,CAAG,CAAA,0BAAyB,EAAW,GAAC,CAAQ;AAChE,AAAI,MAAA,CAAA,OAAM,EAAI,CAAA,WAAU,OAAO,AAAC,EAAC,CAAC;AAClC,AAAI,MAAA,CAAA,kBAAiB,EAAI,IAAI,eAAa,AAAC,CAAC,WAAU,CAAG,2BAAyB,CAAC,CAAC;AACpF,qBAAiB,mBAAmB,EAAI,IAAI,iBAAe,AAAC,CAAC,WAAU,CAAC,CAAC;AACzE,qBAAiB,WAAW,EAAI,KAAG,CAAC;AACpC,OAAG,SAAS,AAAC,CAAC,OAAM,CAAG,KAAG,CAAG,mBAAiB,CAC5C,2BAAyB,CAC3B,CAAC;AACD,SAAO,QAAM,CAAC;EAChB;AAAA,AAEA,SAAO,CAAE,OAAM,CAAG,CAAA,MAAK,AAAe,CAAG,CAAA,OAAM,AAAe,CAAG,CAAA,0BAAyB,EAAW,GAAC,CAAG;AACvG,AAAI,MAAA,CAAA,kBAAiB,EAAI,CAAA,IAAG,SAAS,gBAAgB,AAAC,CAAC,OAAM,CAAG,EAAA,CAAG,OAAK,CAAG,QAAM,CAAC,CAAC;AAEnF,OAAI,OAAM,gBAAgB,CAAG;AAC3B,AAAI,QAAA,CAAA,IAAG,EAAI,CAAA,GAAE,WAAW,AAAC,CAAC,GAAE,kBAAkB,AAAC,CAAC,OAAM,QAAQ,CAAC,CAAC,CAAC;AACjE,YAAO,SAAQ,AAAC,CAAC,IAAG,CAAC,CAAG;AAGtB,AAAI,UAAA,CAAA,QAAO,EAAI,CAAA,GAAE,YAAY,AAAC,CAAC,IAAG,CAAC,CAAC;AACpC,WAAI,GAAE,cAAc,AAAC,CAAC,IAAG,CAAC,CAAG;AAC3B,AAAI,YAAA,CAAA,mBAAkB,EAAI,IAAI,eAAa,AAAC,CAAC,IAAG,CAAG,2BAAyB,CAAC,CAAC;AAC9E,4BAAkB,mBAAmB,EAAI,CAAA,OAAM,mBAAmB,CAAC;AACnE,4BAAkB,uBAAuB,EAAI,CAAA,OAAM,uBAAuB,CAAC;AAC3E,4BAAkB,0BAA0B,EAAI,CAAA,OAAM,0BAA0B,EAAE,EAAA,CAAC;AACnF,aAAG,SAAS,AAAC,CAAC,OAAM,CAAG,QAAM,CAAG,oBAAkB,CAAC,CAAC;QACtD;AAAA,AACA,WAAG,EAAI,SAAO,CAAC;MACjB;AAAA,IACF;AAAA,AAEA,OAAI,SAAQ,AAAC,CAAC,kBAAiB,CAAC,CAAG;AACjC,UAAS,GAAA,CAAA,CAAA,EAAE,EAAA,CAAG,CAAA,CAAA,EAAE,CAAA,kBAAiB,OAAO,CAAG,CAAA,CAAA,EAAE,CAAG;AAC9C,WAAG,SAAS,AAAC,CAAC,OAAM,CAAG,QAAM,CAAG,CAAA,kBAAiB,CAAE,CAAA,CAAC,CAAC,CAAC;MACxD;AAAA,IACF;AAAA,EACF;AAAA,AACF;AAAA,AAvDA,KAAK,eAAe,AAAC,+BACb,EAAC,GAAE,CAAG,UAAS,AAAD,CAAG;AAAC,YAD1B,MAAK,YAAuB,AAcR,CAAA,IAAG,CAAE,YAAU,CAAC,AAdW,GACE;EAAC,CAAC,CAAC,CAAC;AADrD,KAAK,eAAe,AAAC,iDACb,EAAC,GAAE,CAAG,UAAS,AAAD,CAAG;AAAC,gBAD1B,MAAK,KAAgB,UAC4B;EAAC,CAAC,CAAC,CAAC;AADrD,KAAK,eAAe,AAAC,kDACb,EAAC,GAAE,CAAG,UAAS,AAAD,CAAG;AAAC,gBA4BC,cAAa,IAAW,cAAa,IA7BhE,MAAK,KAAgB,UAC4B;EAAC,CAAC,CAAC,CAAC;AAuDrD","file":"angular2/src/render/dom/compiler/compile_pipeline.es6","sourcesContent":["import {isPresent} from 'angular2/src/facade/lang';\nimport {List, ListWrapper} from 'angular2/src/facade/collection';\nimport {DOM} from 'angular2/src/dom/dom_adapter';\nimport {CompileElement} from './compile_element';\nimport {CompileControl} from './compile_control';\nimport {CompileStep} from './compile_step';\nimport {ProtoViewBuilder} from '../view/proto_view_builder';\n\n/**\n * CompilePipeline for executing CompileSteps recursively for\n * all elements in a template.\n */\nexport class CompilePipeline {\n _control:CompileControl;\n constructor(steps:List<CompileStep>) {\n this._control = new CompileControl(steps);\n }\n\n process(rootElement, compilationCtxtDescription:string = ''):List {\n var results = ListWrapper.create();\n var rootCompileElement = new CompileElement(rootElement, compilationCtxtDescription);\n rootCompileElement.inheritedProtoView = new ProtoViewBuilder(rootElement);\n rootCompileElement.isViewRoot = true;\n this._process(results, null, rootCompileElement,\n compilationCtxtDescription\n );\n return results;\n }\n\n _process(results, parent:CompileElement, current:CompileElement, compilationCtxtDescription:string = '') {\n var additionalChildren = this._control.internalProcess(results, 0, parent, current);\n\n if (current.compileChildren) {\n var node = DOM.firstChild(DOM.templateAwareRoot(current.element));\n while (isPresent(node)) {\n // compiliation can potentially move the node, so we need to store the\n // next sibling before recursing.\n var nextNode = DOM.nextSibling(node);\n if (DOM.isElementNode(node)) {\n var childCompileElement = new CompileElement(node, compilationCtxtDescription);\n childCompileElement.inheritedProtoView = current.inheritedProtoView;\n childCompileElement.inheritedElementBinder = current.inheritedElementBinder;\n childCompileElement.distanceToInheritedBinder = current.distanceToInheritedBinder+1;\n this._process(results, current, childCompileElement);\n }\n node = nextNode;\n }\n }\n\n if (isPresent(additionalChildren)) {\n for (var i=0; i<additionalChildren.length; i++) {\n this._process(results, current, additionalChildren[i]);\n }\n }\n }\n}\n"]}