0e008a762fd94f3da7042d6133e45decdd82f93a8abf253532788c0b6dba1a90c8bce7f03c3f817c2cf9141720bf8558f2b8519b48e682c7d681556bf95a38 616 B

123456789101112131415161718192021
  1. /* @flow */
  2. import { camelize } from 'shared/util'
  3. import { generateBinding } from 'weex/util/parser'
  4. import { bindRE } from 'compiler/parser/index'
  5. import { getAndRemoveAttr, addRawAttr } from 'compiler/helpers'
  6. function parseAttrName (name: string): string {
  7. return camelize(name.replace(bindRE, ''))
  8. }
  9. export function preTransformVBind (el: ASTElement) {
  10. for (const attr in el.attrsMap) {
  11. if (bindRE.test(attr)) {
  12. const name: string = parseAttrName(attr)
  13. const value = generateBinding(getAndRemoveAttr(el, attr))
  14. delete el.attrsMap[attr]
  15. addRawAttr(el, name, value)
  16. }
  17. }
  18. }