]> git.ipfire.org Git - thirdparty/moment.git/commitdiff
Merging in feature/no-new-function
authorTim Wood <washwithcare@gmail.com>
Mon, 1 Oct 2012 17:29:07 +0000 (10:29 -0700)
committerTim Wood <washwithcare@gmail.com>
Mon, 1 Oct 2012 17:29:07 +0000 (10:29 -0700)
1  2 
moment.js

diff --cc moment.js
index f33a4e7c622b7cf8f3465062170c8e4ecf550b4e,a01f043df2b27c6ed5da9bc9405c0035d0819bbf..7cf48e9b4652e1c2e851279afa9a8ce5762828c7
+++ b/moment.js
@@@ -30,9 -30,8 +30,8 @@@
          aspNetJsonRegex = /^\/?Date\((\-?\d+)/i,
  
          // format tokens
-         formattingTokens = /(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|YYYY|YY|a|A|hh?|HH?|mm?|ss?|SS?S?|zz?|ZZ?)/g,
+         formattingTokens = /(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|YYYY|YY|a|A|hh?|HH?|mm?|ss?|SS?S?|zz?|ZZ?|.)/g,
 -        localFormattingTokens = /(LT|LL?L?L?)/g,
 +        localFormattingTokens = /(\[[^\[]*\])|(\\)?(LT|LL?L?L?)/g,
-         formattingRemoveEscapes = /(^\[)|(\\)|\]$/g,
  
          // parsing tokens
          parseMultipleFormatChunker = /([0-9a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+)/gi,
  
      // format date using native date object
      function formatMoment(m, format) {
-         var lang = getLangDefinition(m), i = 5;
-         function getValueFromArray(key, index) {
-             return lang[key].call ? lang[key](m, format) : lang[key][index];
-         }
 -        while (localFormattingTokens.test(format)) {
++        var i = 5;
 +
 +        while (i-- && localFormattingTokens.test(format)) {
              format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);
          }
  
  
          for (i = 0; i < tokens.length; i++) {
              parsedInput = (getParseRegexForToken(tokens[i]).exec(string) || [])[0];
 -            string = string.replace(getParseRegexForToken(tokens[i]), '');
 -            addTimeToArrayFromToken(tokens[i], parsedInput, datePartArray, config);
 +            if (parsedInput) {
 +                string = string.slice(string.indexOf(parsedInput) + parsedInput.length);
++            }
++            // don't parse if its not a known token
++            if (formatTokenFunctions[tokens[i]]) {
 +                addTimeToArrayFromToken(tokens[i], parsedInput, datePartArray, config);
-             } else {
-                 addTimeToArrayFromToken(tokens[i], null, datePartArray, config);
 +            }
          }
          // handle am pm
          if (config.isPm && datePartArray[3] < 12) {