| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 | 
							- /* @flow */
 
- import { preTransformRecycleList } from './recycle-list'
 
- import { postTransformComponent } from './component'
 
- import { postTransformComponentRoot } from './component-root'
 
- import { postTransformText } from './text'
 
- import { preTransformVBind } from './v-bind'
 
- import { preTransformVIf } from './v-if'
 
- import { preTransformVFor } from './v-for'
 
- import { postTransformVOn } from './v-on'
 
- import { preTransformVOnce } from './v-once'
 
- let currentRecycleList = null
 
- function shouldCompile (el: ASTElement, options: WeexCompilerOptions) {
 
-   return options.recyclable ||
 
-     (currentRecycleList && el !== currentRecycleList)
 
- }
 
- function preTransformNode (el: ASTElement, options: WeexCompilerOptions) {
 
-   if (el.tag === 'recycle-list') {
 
-     preTransformRecycleList(el, options)
 
-     currentRecycleList = el
 
-   }
 
-   if (shouldCompile(el, options)) {
 
-     preTransformVBind(el)
 
-     preTransformVIf(el, options) // also v-else-if and v-else
 
-     preTransformVFor(el, options)
 
-     preTransformVOnce(el)
 
-   }
 
- }
 
- function transformNode (el: ASTElement, options: WeexCompilerOptions) {
 
-   if (shouldCompile(el, options)) {
 
-     // do nothing yet
 
-   }
 
- }
 
- function postTransformNode (el: ASTElement, options: WeexCompilerOptions) {
 
-   if (shouldCompile(el, options)) {
 
-     // mark child component in parent template
 
-     postTransformComponent(el, options)
 
-     // mark root in child component template
 
-     postTransformComponentRoot(el)
 
-     // <text>: transform children text into value attr
 
-     if (el.tag === 'text') {
 
-       postTransformText(el)
 
-     }
 
-     postTransformVOn(el)
 
-   }
 
-   if (el === currentRecycleList) {
 
-     currentRecycleList = null
 
-   }
 
- }
 
- export default {
 
-   preTransformNode,
 
-   transformNode,
 
-   postTransformNode
 
- }
 
 
  |