neft
Version:
Universal Platform
37 lines (26 loc) • 898 B
text/coffeescript
'use strict'
utils = require 'src/utils'
module.exports = (File) -> (file) ->
uses = []
forNode = (node) ->
unless node instanceof File.Element.Tag
return
node.children.forEach forNode
if file.components[node.name]
component = node.name
node.name = 'use'
node.props['n-component'] = component
if node.name is 'use'
if node.props.component
node.props['n-component'] = node.props.component
delete node.props.component
node.name = 'blank'
uses.push new File.Use file, node
forNode file.node
unless utils.isEmpty(uses)
file.uses = uses