twitter_cldr_js 2.2.2 → 2.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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;