twitter_cldr_js 2.2.2 → 2.2.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/History.txt +5 -0
  3. data/lib/assets/javascripts/twitter_cldr/af.js +28 -30
  4. data/lib/assets/javascripts/twitter_cldr/ar.js +21 -23
  5. data/lib/assets/javascripts/twitter_cldr/be.js +28 -30
  6. data/lib/assets/javascripts/twitter_cldr/bg.js +28 -30
  7. data/lib/assets/javascripts/twitter_cldr/bn.js +26 -28
  8. data/lib/assets/javascripts/twitter_cldr/ca.js +28 -30
  9. data/lib/assets/javascripts/twitter_cldr/cs.js +28 -30
  10. data/lib/assets/javascripts/twitter_cldr/cy.js +26 -28
  11. data/lib/assets/javascripts/twitter_cldr/da.js +28 -30
  12. data/lib/assets/javascripts/twitter_cldr/de.js +28 -30
  13. data/lib/assets/javascripts/twitter_cldr/el.js +28 -30
  14. data/lib/assets/javascripts/twitter_cldr/en-GB.js +26 -29
  15. data/lib/assets/javascripts/twitter_cldr/en.js +21 -23
  16. data/lib/assets/javascripts/twitter_cldr/es.js +26 -29
  17. data/lib/assets/javascripts/twitter_cldr/eu.js +26 -29
  18. data/lib/assets/javascripts/twitter_cldr/fa.js +26 -29
  19. data/lib/assets/javascripts/twitter_cldr/fi.js +26 -29
  20. data/lib/assets/javascripts/twitter_cldr/fil.js +26 -29
  21. data/lib/assets/javascripts/twitter_cldr/fr.js +26 -29
  22. data/lib/assets/javascripts/twitter_cldr/ga.js +26 -29
  23. data/lib/assets/javascripts/twitter_cldr/gl.js +26 -29
  24. data/lib/assets/javascripts/twitter_cldr/he.js +26 -29
  25. data/lib/assets/javascripts/twitter_cldr/hi.js +26 -29
  26. data/lib/assets/javascripts/twitter_cldr/hr.js +26 -29
  27. data/lib/assets/javascripts/twitter_cldr/hu.js +26 -29
  28. data/lib/assets/javascripts/twitter_cldr/id.js +26 -29
  29. data/lib/assets/javascripts/twitter_cldr/is.js +26 -29
  30. data/lib/assets/javascripts/twitter_cldr/it.js +26 -29
  31. data/lib/assets/javascripts/twitter_cldr/ja.js +26 -29
  32. data/lib/assets/javascripts/twitter_cldr/ko.js +26 -29
  33. data/lib/assets/javascripts/twitter_cldr/lv.js +26 -29
  34. data/lib/assets/javascripts/twitter_cldr/msa.js +26 -29
  35. data/lib/assets/javascripts/twitter_cldr/nl.js +26 -29
  36. data/lib/assets/javascripts/twitter_cldr/no.js +26 -29
  37. data/lib/assets/javascripts/twitter_cldr/pl.js +26 -29
  38. data/lib/assets/javascripts/twitter_cldr/pt.js +26 -29
  39. data/lib/assets/javascripts/twitter_cldr/ro.js +26 -29
  40. data/lib/assets/javascripts/twitter_cldr/ru.js +26 -29
  41. data/lib/assets/javascripts/twitter_cldr/sk.js +26 -29
  42. data/lib/assets/javascripts/twitter_cldr/sq.js +26 -29
  43. data/lib/assets/javascripts/twitter_cldr/sr.js +26 -29
  44. data/lib/assets/javascripts/twitter_cldr/sv.js +26 -29
  45. data/lib/assets/javascripts/twitter_cldr/ta.js +26 -29
  46. data/lib/assets/javascripts/twitter_cldr/th.js +26 -29
  47. data/lib/assets/javascripts/twitter_cldr/tr.js +26 -29
  48. data/lib/assets/javascripts/twitter_cldr/uk.js +26 -29
  49. data/lib/assets/javascripts/twitter_cldr/ur.js +26 -29
  50. data/lib/assets/javascripts/twitter_cldr/vi.js +26 -29
  51. data/lib/assets/javascripts/twitter_cldr/zh-cn.js +26 -29
  52. data/lib/assets/javascripts/twitter_cldr/zh-tw.js +26 -29
  53. data/lib/twitter_cldr/js/mustache/calendars/additional_date_format_selector.coffee +1 -1
  54. data/lib/twitter_cldr/js/version.rb +1 -1
  55. data/twitter_cldr_js.gemspec +1 -1
  56. metadata +5 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 45132ca6e3f24f38fe4166b2504ce434dd02efd3
4
- data.tar.gz: 66934f3e44714b90cc2f6b037135d9569287738c
3
+ metadata.gz: da2af24960801d8f8395bc58c8a4b0cb19ee60d2
4
+ data.tar.gz: e972df617fb7326a516104894c48294bf1181fef
5
5
  SHA512:
6
- metadata.gz: ce5aea98baa5fc37a9eee9c5936c3021dbe78376f88729496a68ae8c1fc1558ed67a808724bf1ae17fa626f9b17b957c757671cd787bbdde1958275a2bb1c42f
7
- data.tar.gz: 61924baf1a704ba61dda1490c65855581473a7255b7c62c97000436cd860d364f419dbfdf378e50007ac4d50fb4190ee176f1b34b7d3f941ead412465dc4bf86
6
+ metadata.gz: 38e04d716d55d6b5a1b26d7c11280b8f8da6492d2cc5b15de48ee4d4797d4173ad88c20663faf4fe0443107c2b528ec4035ad73ae7ade3ef3e25799318d15b26
7
+ data.tar.gz: 3b1b56d8246c6e0e019dfce8f2d720a31b42b89195127290f8f0f5789bcf0708b77be8901db999aff04147c9488702487f5ea1e1c06d37e1e727e051ac099031
data/History.txt CHANGED
@@ -1,3 +1,8 @@
1
+ === 2.2.3
2
+
3
+ * Fixing bad generated javascript.
4
+ * Replacing call to trim() with regex to support IE8.
5
+
1
6
  === 2.2.2
2
7
 
3
8
  * Removing rake version requirement.
@@ -1,19 +1,18 @@
1
-
2
1
  /*
3
2
  // Copyright 2012 Twitter, Inc
4
3
  // http://www.apache.org/licenses/LICENSE-2.0
5
4
 
6
- // TwitterCLDR (JavaScript) v2.2.1
5
+ // TwitterCLDR (JavaScript) v2.2.3
7
6
  // Authors: Cameron Dutro [@camertron]
8
7
  Kirill Lashuk [@KL_7]
9
8
  portions by Sven Fuchs [@svenfuchs]
10
9
  // Homepage: https://twitter.com
11
10
  // Description: Provides date, time, number, and list formatting functionality for various Twitter-supported locales in Javascript.
12
- */
11
+ */
12
+
13
13
 
14
+ /*<<module_def>>*/
14
15
 
15
- /*-module-*/
16
- /*_lib/twitter_cldr_*/
17
16
 
18
17
  (function() {
19
18
  var TwitterCldr, key, obj, root, _ref, _ref1, _ref2, _ref3,
@@ -289,23 +288,22 @@
289
288
  }
290
289
 
291
290
  DateTimeFormatter.prototype.format = function(obj, options) {
292
- var format_token, token, tokens;
293
- format_token = (function(_this) {
294
- return function(token) {
295
- var result;
296
- result = "";
297
- switch (token.type) {
298
- case "pattern":
299
- return _this.result_for_token(token, obj);
300
- default:
301
- if (token.value.length > 0 && token.value[0] === "'" && token.value[token.value.length - 1] === "'") {
302
- return token.value.substring(1, token.value.length - 1);
303
- } else {
304
- return token.value;
305
- }
306
- }
307
- };
308
- })(this);
291
+ var format_token, token, tokens,
292
+ _this = this;
293
+ format_token = function(token) {
294
+ var result;
295
+ result = "";
296
+ switch (token.type) {
297
+ case "pattern":
298
+ return _this.result_for_token(token, obj);
299
+ default:
300
+ if (token.value.length > 0 && token.value[0] === "'" && token.value[token.value.length - 1] === "'") {
301
+ return token.value.substring(1, token.value.length - 1);
302
+ } else {
303
+ return token.value;
304
+ }
305
+ }
306
+ };
309
307
  tokens = this.get_tokens(obj, options);
310
308
  return ((function() {
311
309
  var _i, _len, _results;
@@ -600,7 +598,7 @@
600
598
 
601
599
  AdditionalDateFormatSelector.prototype.find_closest = function(goal_pattern) {
602
600
  var key, min_key, min_rank, rank, ranks;
603
- if ((goal_pattern == null) || goal_pattern.trim().length === 0) {
601
+ if ((goal_pattern == null) || goal_pattern.replace(/^\s+|\s+$/g, "").length === 0) {
604
602
  return null;
605
603
  } else {
606
604
  ranks = this.rank(goal_pattern);
@@ -1799,13 +1797,13 @@
1799
1797
 
1800
1798
  TwitterCldr.NumberParser = (function() {
1801
1799
  function NumberParser() {
1802
- this.group_separator = ",";
1803
- this.decimal_separator = "\\\.";
1800
+ this.group_separator = " ";
1801
+ this.decimal_separator = ",";
1804
1802
  this.separator_chars = ['\\.', ',', '\\s'].join("");
1805
1803
  }
1806
1804
 
1807
1805
  NumberParser.prototype.parse = function(number_text, options) {
1808
- var num, num_list, punct_list, result, separators, token, tokens, _i, _len;
1806
+ var last, num, num_list, punct_list, result, separators, token, tokens, _i, _len;
1809
1807
  if (options == null) {
1810
1808
  options = {};
1811
1809
  }
@@ -1830,8 +1828,7 @@
1830
1828
  if (!(tokens.slice(-1)[0] && tokens.slice(-1)[0]["type"] === "numeric")) {
1831
1829
  throw "Invalid number";
1832
1830
  }
1833
- debugger;
1834
- if (punct_list.slice(-1)[0] && punct_list.slice(-1)[0]["type"] === "decimal") {
1831
+ if (punct_list.length > 0 && punct_list.slice(-1)[0]["type"] === "decimal") {
1835
1832
  result = parseInt(((function() {
1836
1833
  var _j, _len1, _ref4, _results;
1837
1834
  _ref4 = num_list.slice(0, -1);
@@ -1841,8 +1838,9 @@
1841
1838
  _results.push(num.value);
1842
1839
  }
1843
1840
  return _results;
1844
- })()).join(""));
1845
- return result + parseInt(num_list.slice(-1)[0].value) / Math.pow(10.0, num_list.slice(-1)[0].value.length);
1841
+ })()).join("")) || 0;
1842
+ last = num_list.slice(-1)[0];
1843
+ return result + parseInt(last.value) / Math.pow(10.0, last.value.length);
1846
1844
  } else {
1847
1845
  return parseInt(((function() {
1848
1846
  var _j, _len1, _results;
@@ -1,19 +1,18 @@
1
-
2
1
  /*
3
2
  // Copyright 2012 Twitter, Inc
4
3
  // http://www.apache.org/licenses/LICENSE-2.0
5
4
 
6
- // TwitterCLDR (JavaScript) v2.2.1
5
+ // TwitterCLDR (JavaScript) v2.2.3
7
6
  // Authors: Cameron Dutro [@camertron]
8
7
  Kirill Lashuk [@KL_7]
9
8
  portions by Sven Fuchs [@svenfuchs]
10
9
  // Homepage: https://twitter.com
11
10
  // Description: Provides date, time, number, and list formatting functionality for various Twitter-supported locales in Javascript.
12
- */
11
+ */
12
+
13
13
 
14
+ /*<<module_def>>*/
14
15
 
15
- /*-module-*/
16
- /*_lib/twitter_cldr_*/
17
16
 
18
17
  (function() {
19
18
  var TwitterCldr, key, obj, root, _ref, _ref1, _ref2, _ref3,
@@ -289,23 +288,22 @@
289
288
  }
290
289
 
291
290
  DateTimeFormatter.prototype.format = function(obj, options) {
292
- var format_token, token, tokens;
293
- format_token = (function(_this) {
294
- return function(token) {
295
- var result;
296
- result = "";
297
- switch (token.type) {
298
- case "pattern":
299
- return _this.result_for_token(token, obj);
300
- default:
301
- if (token.value.length > 0 && token.value[0] === "'" && token.value[token.value.length - 1] === "'") {
302
- return token.value.substring(1, token.value.length - 1);
303
- } else {
304
- return token.value;
305
- }
306
- }
307
- };
308
- })(this);
291
+ var format_token, token, tokens,
292
+ _this = this;
293
+ format_token = function(token) {
294
+ var result;
295
+ result = "";
296
+ switch (token.type) {
297
+ case "pattern":
298
+ return _this.result_for_token(token, obj);
299
+ default:
300
+ if (token.value.length > 0 && token.value[0] === "'" && token.value[token.value.length - 1] === "'") {
301
+ return token.value.substring(1, token.value.length - 1);
302
+ } else {
303
+ return token.value;
304
+ }
305
+ }
306
+ };
309
307
  tokens = this.get_tokens(obj, options);
310
308
  return ((function() {
311
309
  var _i, _len, _results;
@@ -600,7 +598,7 @@
600
598
 
601
599
  AdditionalDateFormatSelector.prototype.find_closest = function(goal_pattern) {
602
600
  var key, min_key, min_rank, rank, ranks;
603
- if ((goal_pattern == null) || goal_pattern.trim().length === 0) {
601
+ if ((goal_pattern == null) || goal_pattern.replace(/^\s+|\s+$/g, "").length === 0) {
604
602
  return null;
605
603
  } else {
606
604
  ranks = this.rank(goal_pattern);
@@ -1,19 +1,18 @@
1
-
2
1
  /*
3
2
  // Copyright 2012 Twitter, Inc
4
3
  // http://www.apache.org/licenses/LICENSE-2.0
5
4
 
6
- // TwitterCLDR (JavaScript) v2.2.1
5
+ // TwitterCLDR (JavaScript) v2.2.3
7
6
  // Authors: Cameron Dutro [@camertron]
8
7
  Kirill Lashuk [@KL_7]
9
8
  portions by Sven Fuchs [@svenfuchs]
10
9
  // Homepage: https://twitter.com
11
10
  // Description: Provides date, time, number, and list formatting functionality for various Twitter-supported locales in Javascript.
12
- */
11
+ */
12
+
13
13
 
14
+ /*<<module_def>>*/
14
15
 
15
- /*-module-*/
16
- /*_lib/twitter_cldr_*/
17
16
 
18
17
  (function() {
19
18
  var TwitterCldr, key, obj, root, _ref, _ref1, _ref2, _ref3,
@@ -289,23 +288,22 @@
289
288
  }
290
289
 
291
290
  DateTimeFormatter.prototype.format = function(obj, options) {
292
- var format_token, token, tokens;
293
- format_token = (function(_this) {
294
- return function(token) {
295
- var result;
296
- result = "";
297
- switch (token.type) {
298
- case "pattern":
299
- return _this.result_for_token(token, obj);
300
- default:
301
- if (token.value.length > 0 && token.value[0] === "'" && token.value[token.value.length - 1] === "'") {
302
- return token.value.substring(1, token.value.length - 1);
303
- } else {
304
- return token.value;
305
- }
306
- }
307
- };
308
- })(this);
291
+ var format_token, token, tokens,
292
+ _this = this;
293
+ format_token = function(token) {
294
+ var result;
295
+ result = "";
296
+ switch (token.type) {
297
+ case "pattern":
298
+ return _this.result_for_token(token, obj);
299
+ default:
300
+ if (token.value.length > 0 && token.value[0] === "'" && token.value[token.value.length - 1] === "'") {
301
+ return token.value.substring(1, token.value.length - 1);
302
+ } else {
303
+ return token.value;
304
+ }
305
+ }
306
+ };
309
307
  tokens = this.get_tokens(obj, options);
310
308
  return ((function() {
311
309
  var _i, _len, _results;
@@ -600,7 +598,7 @@
600
598
 
601
599
  AdditionalDateFormatSelector.prototype.find_closest = function(goal_pattern) {
602
600
  var key, min_key, min_rank, rank, ranks;
603
- if ((goal_pattern == null) || goal_pattern.trim().length === 0) {
601
+ if ((goal_pattern == null) || goal_pattern.replace(/^\s+|\s+$/g, "").length === 0) {
604
602
  return null;
605
603
  } else {
606
604
  ranks = this.rank(goal_pattern);
@@ -1799,13 +1797,13 @@
1799
1797
 
1800
1798
  TwitterCldr.NumberParser = (function() {
1801
1799
  function NumberParser() {
1802
- this.group_separator = ",";
1803
- this.decimal_separator = "\\\.";
1800
+ this.group_separator = " ";
1801
+ this.decimal_separator = ",";
1804
1802
  this.separator_chars = ['\\.', ',', '\\s'].join("");
1805
1803
  }
1806
1804
 
1807
1805
  NumberParser.prototype.parse = function(number_text, options) {
1808
- var num, num_list, punct_list, result, separators, token, tokens, _i, _len;
1806
+ var last, num, num_list, punct_list, result, separators, token, tokens, _i, _len;
1809
1807
  if (options == null) {
1810
1808
  options = {};
1811
1809
  }
@@ -1830,8 +1828,7 @@
1830
1828
  if (!(tokens.slice(-1)[0] && tokens.slice(-1)[0]["type"] === "numeric")) {
1831
1829
  throw "Invalid number";
1832
1830
  }
1833
- debugger;
1834
- if (punct_list.slice(-1)[0] && punct_list.slice(-1)[0]["type"] === "decimal") {
1831
+ if (punct_list.length > 0 && punct_list.slice(-1)[0]["type"] === "decimal") {
1835
1832
  result = parseInt(((function() {
1836
1833
  var _j, _len1, _ref4, _results;
1837
1834
  _ref4 = num_list.slice(0, -1);
@@ -1841,8 +1838,9 @@
1841
1838
  _results.push(num.value);
1842
1839
  }
1843
1840
  return _results;
1844
- })()).join(""));
1845
- return result + parseInt(num_list.slice(-1)[0].value) / Math.pow(10.0, num_list.slice(-1)[0].value.length);
1841
+ })()).join("")) || 0;
1842
+ last = num_list.slice(-1)[0];
1843
+ return result + parseInt(last.value) / Math.pow(10.0, last.value.length);
1846
1844
  } else {
1847
1845
  return parseInt(((function() {
1848
1846
  var _j, _len1, _results;
@@ -1,19 +1,18 @@
1
-
2
1
  /*
3
2
  // Copyright 2012 Twitter, Inc
4
3
  // http://www.apache.org/licenses/LICENSE-2.0
5
4
 
6
- // TwitterCLDR (JavaScript) v2.2.1
5
+ // TwitterCLDR (JavaScript) v2.2.3
7
6
  // Authors: Cameron Dutro [@camertron]
8
7
  Kirill Lashuk [@KL_7]
9
8
  portions by Sven Fuchs [@svenfuchs]
10
9
  // Homepage: https://twitter.com
11
10
  // Description: Provides date, time, number, and list formatting functionality for various Twitter-supported locales in Javascript.
12
- */
11
+ */
12
+
13
13
 
14
+ /*<<module_def>>*/
14
15
 
15
- /*-module-*/
16
- /*_lib/twitter_cldr_*/
17
16
 
18
17
  (function() {
19
18
  var TwitterCldr, key, obj, root, _ref, _ref1, _ref2, _ref3,
@@ -289,23 +288,22 @@
289
288
  }
290
289
 
291
290
  DateTimeFormatter.prototype.format = function(obj, options) {
292
- var format_token, token, tokens;
293
- format_token = (function(_this) {
294
- return function(token) {
295
- var result;
296
- result = "";
297
- switch (token.type) {
298
- case "pattern":
299
- return _this.result_for_token(token, obj);
300
- default:
301
- if (token.value.length > 0 && token.value[0] === "'" && token.value[token.value.length - 1] === "'") {
302
- return token.value.substring(1, token.value.length - 1);
303
- } else {
304
- return token.value;
305
- }
306
- }
307
- };
308
- })(this);
291
+ var format_token, token, tokens,
292
+ _this = this;
293
+ format_token = function(token) {
294
+ var result;
295
+ result = "";
296
+ switch (token.type) {
297
+ case "pattern":
298
+ return _this.result_for_token(token, obj);
299
+ default:
300
+ if (token.value.length > 0 && token.value[0] === "'" && token.value[token.value.length - 1] === "'") {
301
+ return token.value.substring(1, token.value.length - 1);
302
+ } else {
303
+ return token.value;
304
+ }
305
+ }
306
+ };
309
307
  tokens = this.get_tokens(obj, options);
310
308
  return ((function() {
311
309
  var _i, _len, _results;
@@ -600,7 +598,7 @@
600
598
 
601
599
  AdditionalDateFormatSelector.prototype.find_closest = function(goal_pattern) {
602
600
  var key, min_key, min_rank, rank, ranks;
603
- if ((goal_pattern == null) || goal_pattern.trim().length === 0) {
601
+ if ((goal_pattern == null) || goal_pattern.replace(/^\s+|\s+$/g, "").length === 0) {
604
602
  return null;
605
603
  } else {
606
604
  ranks = this.rank(goal_pattern);
@@ -1799,13 +1797,13 @@
1799
1797
 
1800
1798
  TwitterCldr.NumberParser = (function() {
1801
1799
  function NumberParser() {
1802
- this.group_separator = ",";
1803
- this.decimal_separator = "\\\.";
1800
+ this.group_separator = " ";
1801
+ this.decimal_separator = ",";
1804
1802
  this.separator_chars = ['\\.', ',', '\\s'].join("");
1805
1803
  }
1806
1804
 
1807
1805
  NumberParser.prototype.parse = function(number_text, options) {
1808
- var num, num_list, punct_list, result, separators, token, tokens, _i, _len;
1806
+ var last, num, num_list, punct_list, result, separators, token, tokens, _i, _len;
1809
1807
  if (options == null) {
1810
1808
  options = {};
1811
1809
  }
@@ -1830,8 +1828,7 @@
1830
1828
  if (!(tokens.slice(-1)[0] && tokens.slice(-1)[0]["type"] === "numeric")) {
1831
1829
  throw "Invalid number";
1832
1830
  }
1833
- debugger;
1834
- if (punct_list.slice(-1)[0] && punct_list.slice(-1)[0]["type"] === "decimal") {
1831
+ if (punct_list.length > 0 && punct_list.slice(-1)[0]["type"] === "decimal") {
1835
1832
  result = parseInt(((function() {
1836
1833
  var _j, _len1, _ref4, _results;
1837
1834
  _ref4 = num_list.slice(0, -1);
@@ -1841,8 +1838,9 @@
1841
1838
  _results.push(num.value);
1842
1839
  }
1843
1840
  return _results;
1844
- })()).join(""));
1845
- return result + parseInt(num_list.slice(-1)[0].value) / Math.pow(10.0, num_list.slice(-1)[0].value.length);
1841
+ })()).join("")) || 0;
1842
+ last = num_list.slice(-1)[0];
1843
+ return result + parseInt(last.value) / Math.pow(10.0, last.value.length);
1846
1844
  } else {
1847
1845
  return parseInt(((function() {
1848
1846
  var _j, _len1, _results;
@@ -1,19 +1,18 @@
1
-
2
1
  /*
3
2
  // Copyright 2012 Twitter, Inc
4
3
  // http://www.apache.org/licenses/LICENSE-2.0
5
4
 
6
- // TwitterCLDR (JavaScript) v2.2.1
5
+ // TwitterCLDR (JavaScript) v2.2.3
7
6
  // Authors: Cameron Dutro [@camertron]
8
7
  Kirill Lashuk [@KL_7]
9
8
  portions by Sven Fuchs [@svenfuchs]
10
9
  // Homepage: https://twitter.com
11
10
  // Description: Provides date, time, number, and list formatting functionality for various Twitter-supported locales in Javascript.
12
- */
11
+ */
12
+
13
13
 
14
+ /*<<module_def>>*/
14
15
 
15
- /*-module-*/
16
- /*_lib/twitter_cldr_*/
17
16
 
18
17
  (function() {
19
18
  var TwitterCldr, key, obj, root, _ref, _ref1, _ref2, _ref3,
@@ -289,23 +288,22 @@
289
288
  }
290
289
 
291
290
  DateTimeFormatter.prototype.format = function(obj, options) {
292
- var format_token, token, tokens;
293
- format_token = (function(_this) {
294
- return function(token) {
295
- var result;
296
- result = "";
297
- switch (token.type) {
298
- case "pattern":
299
- return _this.result_for_token(token, obj);
300
- default:
301
- if (token.value.length > 0 && token.value[0] === "'" && token.value[token.value.length - 1] === "'") {
302
- return token.value.substring(1, token.value.length - 1);
303
- } else {
304
- return token.value;
305
- }
306
- }
307
- };
308
- })(this);
291
+ var format_token, token, tokens,
292
+ _this = this;
293
+ format_token = function(token) {
294
+ var result;
295
+ result = "";
296
+ switch (token.type) {
297
+ case "pattern":
298
+ return _this.result_for_token(token, obj);
299
+ default:
300
+ if (token.value.length > 0 && token.value[0] === "'" && token.value[token.value.length - 1] === "'") {
301
+ return token.value.substring(1, token.value.length - 1);
302
+ } else {
303
+ return token.value;
304
+ }
305
+ }
306
+ };
309
307
  tokens = this.get_tokens(obj, options);
310
308
  return ((function() {
311
309
  var _i, _len, _results;
@@ -600,7 +598,7 @@
600
598
 
601
599
  AdditionalDateFormatSelector.prototype.find_closest = function(goal_pattern) {
602
600
  var key, min_key, min_rank, rank, ranks;
603
- if ((goal_pattern == null) || goal_pattern.trim().length === 0) {
601
+ if ((goal_pattern == null) || goal_pattern.replace(/^\s+|\s+$/g, "").length === 0) {
604
602
  return null;
605
603
  } else {
606
604
  ranks = this.rank(goal_pattern);
@@ -1805,7 +1803,7 @@
1805
1803
  }
1806
1804
 
1807
1805
  NumberParser.prototype.parse = function(number_text, options) {
1808
- var num, num_list, punct_list, result, separators, token, tokens, _i, _len;
1806
+ var last, num, num_list, punct_list, result, separators, token, tokens, _i, _len;
1809
1807
  if (options == null) {
1810
1808
  options = {};
1811
1809
  }
@@ -1830,8 +1828,7 @@
1830
1828
  if (!(tokens.slice(-1)[0] && tokens.slice(-1)[0]["type"] === "numeric")) {
1831
1829
  throw "Invalid number";
1832
1830
  }
1833
- debugger;
1834
- if (punct_list.slice(-1)[0] && punct_list.slice(-1)[0]["type"] === "decimal") {
1831
+ if (punct_list.length > 0 && punct_list.slice(-1)[0]["type"] === "decimal") {
1835
1832
  result = parseInt(((function() {
1836
1833
  var _j, _len1, _ref4, _results;
1837
1834
  _ref4 = num_list.slice(0, -1);
@@ -1841,8 +1838,9 @@
1841
1838
  _results.push(num.value);
1842
1839
  }
1843
1840
  return _results;
1844
- })()).join(""));
1845
- return result + parseInt(num_list.slice(-1)[0].value) / Math.pow(10.0, num_list.slice(-1)[0].value.length);
1841
+ })()).join("")) || 0;
1842
+ last = num_list.slice(-1)[0];
1843
+ return result + parseInt(last.value) / Math.pow(10.0, last.value.length);
1846
1844
  } else {
1847
1845
  return parseInt(((function() {
1848
1846
  var _j, _len1, _results;
@@ -1,19 +1,18 @@
1
-
2
1
  /*
3
2
  // Copyright 2012 Twitter, Inc
4
3
  // http://www.apache.org/licenses/LICENSE-2.0
5
4
 
6
- // TwitterCLDR (JavaScript) v2.2.1
5
+ // TwitterCLDR (JavaScript) v2.2.3
7
6
  // Authors: Cameron Dutro [@camertron]
8
7
  Kirill Lashuk [@KL_7]
9
8
  portions by Sven Fuchs [@svenfuchs]
10
9
  // Homepage: https://twitter.com
11
10
  // Description: Provides date, time, number, and list formatting functionality for various Twitter-supported locales in Javascript.
12
- */
11
+ */
12
+
13
13
 
14
+ /*<<module_def>>*/
14
15
 
15
- /*-module-*/
16
- /*_lib/twitter_cldr_*/
17
16
 
18
17
  (function() {
19
18
  var TwitterCldr, key, obj, root, _ref, _ref1, _ref2, _ref3,
@@ -289,23 +288,22 @@
289
288
  }
290
289
 
291
290
  DateTimeFormatter.prototype.format = function(obj, options) {
292
- var format_token, token, tokens;
293
- format_token = (function(_this) {
294
- return function(token) {
295
- var result;
296
- result = "";
297
- switch (token.type) {
298
- case "pattern":
299
- return _this.result_for_token(token, obj);
300
- default:
301
- if (token.value.length > 0 && token.value[0] === "'" && token.value[token.value.length - 1] === "'") {
302
- return token.value.substring(1, token.value.length - 1);
303
- } else {
304
- return token.value;
305
- }
306
- }
307
- };
308
- })(this);
291
+ var format_token, token, tokens,
292
+ _this = this;
293
+ format_token = function(token) {
294
+ var result;
295
+ result = "";
296
+ switch (token.type) {
297
+ case "pattern":
298
+ return _this.result_for_token(token, obj);
299
+ default:
300
+ if (token.value.length > 0 && token.value[0] === "'" && token.value[token.value.length - 1] === "'") {
301
+ return token.value.substring(1, token.value.length - 1);
302
+ } else {
303
+ return token.value;
304
+ }
305
+ }
306
+ };
309
307
  tokens = this.get_tokens(obj, options);
310
308
  return ((function() {
311
309
  var _i, _len, _results;
@@ -600,7 +598,7 @@
600
598
 
601
599
  AdditionalDateFormatSelector.prototype.find_closest = function(goal_pattern) {
602
600
  var key, min_key, min_rank, rank, ranks;
603
- if ((goal_pattern == null) || goal_pattern.trim().length === 0) {
601
+ if ((goal_pattern == null) || goal_pattern.replace(/^\s+|\s+$/g, "").length === 0) {
604
602
  return null;
605
603
  } else {
606
604
  ranks = this.rank(goal_pattern);
@@ -1799,13 +1797,13 @@
1799
1797
 
1800
1798
  TwitterCldr.NumberParser = (function() {
1801
1799
  function NumberParser() {
1802
- this.group_separator = ",";
1803
- this.decimal_separator = "\\\.";
1800
+ this.group_separator = "\\\.";
1801
+ this.decimal_separator = ",";
1804
1802
  this.separator_chars = ['\\.', ',', '\\s'].join("");
1805
1803
  }
1806
1804
 
1807
1805
  NumberParser.prototype.parse = function(number_text, options) {
1808
- var num, num_list, punct_list, result, separators, token, tokens, _i, _len;
1806
+ var last, num, num_list, punct_list, result, separators, token, tokens, _i, _len;
1809
1807
  if (options == null) {
1810
1808
  options = {};
1811
1809
  }
@@ -1830,8 +1828,7 @@
1830
1828
  if (!(tokens.slice(-1)[0] && tokens.slice(-1)[0]["type"] === "numeric")) {
1831
1829
  throw "Invalid number";
1832
1830
  }
1833
- debugger;
1834
- if (punct_list.slice(-1)[0] && punct_list.slice(-1)[0]["type"] === "decimal") {
1831
+ if (punct_list.length > 0 && punct_list.slice(-1)[0]["type"] === "decimal") {
1835
1832
  result = parseInt(((function() {
1836
1833
  var _j, _len1, _ref4, _results;
1837
1834
  _ref4 = num_list.slice(0, -1);
@@ -1841,8 +1838,9 @@
1841
1838
  _results.push(num.value);
1842
1839
  }
1843
1840
  return _results;
1844
- })()).join(""));
1845
- return result + parseInt(num_list.slice(-1)[0].value) / Math.pow(10.0, num_list.slice(-1)[0].value.length);
1841
+ })()).join("")) || 0;
1842
+ last = num_list.slice(-1)[0];
1843
+ return result + parseInt(last.value) / Math.pow(10.0, last.value.length);
1846
1844
  } else {
1847
1845
  return parseInt(((function() {
1848
1846
  var _j, _len1, _results;