neft
Version:
Universal Platform
41 lines (31 loc) • 1.02 kB
text/coffeescript
'use strict'
utils = require 'src/utils'
module.exports = (File) -> (file) ->
{iterators} = file
createdComponents = []
uid = 0
forNode = (elem) ->
unless propVal = elem.props['n-each']
for child in elem.children
if child instanceof File.Element.Tag
forNode child
return
path = "#{file.path}#each[#{uid++}]"
bodyNode = new File.Element.Tag
while child = elem.children[0]
child.parent = bodyNode
component = new File path, bodyNode
utils.merge component.components, file.components
createdComponents.push component
iterator = new File.Iterator file, elem, path
iterators.push iterator
`//<development>`
iterator.text = propVal
`//</development>`
forNode file.node
for component in createdComponents
File.parse component
return