genStyleProps(ast) {
    const styleAttrsValue = ast.attrs
      .filter(v => v.name === 'style')
      .map(v => v.value)
    const show =
      ast.directives && ast.directives.filter(v => v.name === 'show')[0]
    const topParent = this.isAstTopParent(ast)
    if (styleAttrsValue.length === 0 && !show && !topParent) {
      return
    }
    let staticStyle, dynamicStyle, showStyle
    styleAttrsValue.forEach(v => {
      if (/^".*"$/.test(v)) {
        staticStyle = v.trim().replace(/;*"$/, ';"')
      } else {
        dynamicStyle = v
      }
    })
    if (staticStyle) {
      try {
        staticStyle = JSON.stringify(parseStyleText(staticStyle))
      } catch (e) {}
    }
    if (show) {
      showStyle = `{display: ${show.value} ? '' : 'none'}`
    }
    return `${NATIVE.bindStyle.name}(${dynamicStyle}, ${staticStyle}, ${showStyle})`
  }
gen style props
@param {Object} ast