diff options
| author | Misko Hevery | 2011-11-29 12:11:32 -0800 | 
|---|---|---|
| committer | Misko Hevery | 2012-01-25 11:46:36 -0800 | 
| commit | 8af4fde18246ac1587b471a549e70d5d858bf0ee (patch) | |
| tree | 925e223c9221c8e3b40ff3fb5cade11b819782d5 /src/jqLite.js | |
| parent | 5001c1a1217772d2bffe108bafd475b24badf559 (diff) | |
| download | angular.js-8af4fde18246ac1587b471a549e70d5d858bf0ee.tar.bz2 | |
add($compile): add compiler v2.0 - not connected
Diffstat (limited to 'src/jqLite.js')
| -rw-r--r-- | src/jqLite.js | 22 | 
1 files changed, 18 insertions, 4 deletions
| diff --git a/src/jqLite.js b/src/jqLite.js index 9e16f8ec..e48d250b 100644 --- a/src/jqLite.js +++ b/src/jqLite.js @@ -100,13 +100,27 @@ function getStyle(element) {  } +var SPECIAL_CHARS_REGEXP = /([\:\-\_]+(.))/g; +var PREFIX_REGEXP = /^(x[\:\-_]|data[\:\-_])/i; +var MOZ_HACK_REGEXP = /^moz([A-Z])/;  /** - * Converts dash-separated names to camelCase. Useful for dealing with css properties. + * Converts all accepted directives format into proper directive name. + * All of these will become 'myDirective': + *   my:DiRective + *   my-directive + *   x-my-directive + *   data-my:directive + * + * Also there is special case for Moz prefix starting with upper case letter. + * @param name Name to normalize   */  function camelCase(name) { -  return name.replace(/\-(\w)/g, function(all, letter, offset){ -    return (offset == 0 && letter == 'w') ? 'w' : letter.toUpperCase(); -  }); +  return name. +    replace(PREFIX_REGEXP, ''). +    replace(SPECIAL_CHARS_REGEXP, function(_, separator, letter, offset) { +      return offset ? letter.toUpperCase() : letter; +    }). +    replace(MOZ_HACK_REGEXP, 'Moz$1');  }  ///////////////////////////////////////////// | 
