on master help sign in
Fix issues with improperly created characters
commit99bd1000c2d66fc9eee7f5edebd259a0dad5c9e4 authorEvan Czaplicki <info@elm-lang.org> dateSun 20 Oct 2013, 23:15 (13 years ago) parentc685c8b
1 file changed+10−6
libraries/Native/String.js+10−6
libraries/Native/String.js+10−6
@@ -26,10 +26,14 @@ Elm.Native.String.make = function(elm) {
2626 return str.length;
2727 }
2828 function map(f,str) {
29− return str.split('').map(f).join('');
29+ var out = str.split('');
30+ for (var i = out.length; i--; ) {
31+ out[i] = f(Utils.chr(out[i]));
32+ }
33+ return out.join('');
3034 }
3135 function filter(pred,str) {
32− return str.split('').filter(pred).join('');
36+ return str.split('').map(Utils.chr).filter(pred).join('');
3337 }
3438 function reverse(str) {
3539 return str.split('').reverse().join('');
@@ -37,13 +41,13 @@ Elm.Native.String.make = function(elm) {
3741 function foldl(f,b,str) {
3842 var len = str.length;
3943 for (var i = 0; i < len; ++i) {
40− b = A2(f, str[i], b);
44+ b = A2(f, Utils.chr(str[i]), b);
4145 }
4246 return b;
4347 }
4448 function foldr(f,b,str) {
4549 for (var i = str.length; i--; ) {
46− b = A2(f, str[i], b);
50+ b = A2(f, Utils.chr(str[i]), b);
4751 }
4852 return b;
4953 }
@@ -116,13 +120,13 @@ Elm.Native.String.make = function(elm) {
116120
117121 function any(pred, str) {
118122 for (var i = str.length; i--; ) {
119− if (pred(str[i])) return true;
123+ if (pred(Utils.chr(str[i]))) return true;
120124 }
121125 return false;
122126 }
123127 function all(pred, str) {
124128 for (var i = str.length; i--; ) {
125− if (!pred(str[i])) return false;
129+ if (!pred(Utils.chr(str[i]))) return false;
126130 }
127131 return true;
128132 }